From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Dave Jones <davej@redhat.com>
Cc: Greg KH <gregkh@linuxfoundation.org>,
Rusty Russell <rusty@rustcorp.com.au>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: kobject: delayed kobject release: help find buggy drivers
Date: Fri, 6 Sep 2013 08:59:37 +0100 [thread overview]
Message-ID: <20130906075937.GM6617@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20130906011137.GA25277@redhat.com>
On Thu, Sep 05, 2013 at 09:11:37PM -0400, Dave Jones wrote:
> As discussed on irc, with this updated patch it hangs *really* early in boot.
>
> With earlyprintk=vga I can see some of the trace..
>
> kobject_init
> firmware_map_add_entry
> firmware_map_add_early
> e820_reserve_resources
> setup_arch
> start_kernel
> x86_64_start_reservations
> x86_64_start_kernel
>
> <RIP> kmem_cache_alloc_trace
Argh, so kobject_init() gets used before the memory allocators are setup.
This is starting to look like we can't separate the delayed_work from
the kobject struct to provide a layer of isolation. I'm running out of
ideas here.
Do we have a way to tell if the memory allocators have been initialised?
I can't see anything that would, with the exception that the scheduler
initialisation requires memory allocators are up and running, and it has
its own scheduler_running state, but that's buried in the scheduler.
system_state is useless for this because it gets set to the running state
after device initialisation, and just before we drop into userspace.
We could go back to doing the allocation at kobject_add() time, that seemed
to be marginally successful for you - but I'm fairly certain it won't get
all kobjects that are later released (because its possible to init a
kobject and then put it once to discard it.)
prev parent reply other threads:[~2013-09-06 7:59 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20130903185924.046EE660E91@gitolite.kernel.org>
2013-09-03 20:44 ` Dave Jones
2013-09-03 20:55 ` Greg KH
2013-09-04 5:23 ` Rusty Russell
2013-09-05 4:13 ` Dave Jones
2013-09-05 4:57 ` Greg KH
2013-09-05 5:00 ` Dave Jones
2013-09-05 5:19 ` Dave Jones
2013-09-05 15:34 ` Greg KH
2013-09-05 15:47 ` Dave Jones
2013-09-05 17:35 ` Russell King - ARM Linux
2013-09-05 18:13 ` Dave Jones
2013-09-05 19:29 ` Dave Jones
2013-09-05 21:11 ` Dave Jones
2013-09-05 21:26 ` Dave Jones
2013-09-05 21:44 ` Russell King - ARM Linux
2013-09-06 1:11 ` Dave Jones
2013-09-06 7:59 ` Russell King - ARM Linux [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130906075937.GM6617@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=davej@redhat.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®