From: Greg KH <gregkh@suse.de>
To: Andrew Morton <akpm@osdl.org>
Cc: Joel Becker <Joel.Becker@oracle.com>,
gombasg@sztaki.hu, tytso@mit.edu, torvalds@osdl.org,
kay.sievers@suse.de, penberg@cs.helsinki.fi, bunk@stusta.de,
rml@novell.com, linux-kernel@vger.kernel.org,
johnstul@us.ibm.com
Subject: Re: 2.6.16-rc4: known regressions
Date: Wed, 22 Feb 2006 12:26:38 -0800 [thread overview]
Message-ID: <20060222202638.GA16127@suse.de> (raw)
In-Reply-To: <20060222115410.1394ff82.akpm@osdl.org>
On Wed, Feb 22, 2006 at 11:54:10AM -0800, Andrew Morton wrote:
> Joel Becker <Joel.Becker@oracle.com> wrote:
> >
> > On Wed, Feb 22, 2006 at 06:33:54PM +0100, Gabor Gombas wrote:
> > > I don't think isnmod is broken. It's job is to load a chunk of code into
> > > the kernel, and it's doing just that.
> > >
> > > ...
> > >
> > > But if your kernel has CONFIG_HOTPLUG enabled, then _you_ have asked for
> > > this exact behavior, therefore you should better fix userspace to cope
> > > with it. Your initrd should use the notification mechanisms provided by
> > > the kernel to wait for the would-be root device really becoming
> > > available; if it's not doing that, then IMHO you should not use a
> > > CONFIG_HOTPLUG enabled kernel.
> >
> > The issue isn't so much "insmod is right" vs "insmod is wrong".
> > It's that the behavior changed in a surprising fashion. Red Hat's
> > kernel for RHEL4 (in our example) has CONFIG_HOTPLUG=y, yet it Just
> > Works. A more recent kernel (.15 and .16 at least) with
> > CONFIG_HOTPLUG=y doesn't work. Same disk drivers. Same initramfs
> > script.
> > We're discussing this very "kernel change broke userspace
> > expectations" issue. You don't need to convince me that
> >
> > 1. Insmod loads the driver
> > 2. Userspace initramfs sleeps waiting for hotplug
> > 3. Hotplug completes
> > 4. Userspace initramfs continues, using the now plugged devices.
>
> Yes, I tend to think that insmod should just block until all devices are
> ready to be used. insmod doesn't just "insert a module". It runs that
> module's init function.
>
> The very common case is that userspace wants to use those devices
> immediately upon return from insmod, and the handling of these
> not-yet-ready devices from userspace is very hard - generally people just
> stick lame sleeps in there to get around it.
>
> If, for some strange and rare reason, people _really_ want the
> return-when-its-not-ready-yet behaviour, they can do `insmod foo &', or we
> give insmod a fork-then-exit option.
>
> But right now the default (and unalterable) behaviour is the oddball,
> rarely-desired and hard-to-handle one.
But people are currently working right now to make a totally async boot
process that takes advantage of this behavior. It's the only way we can
make the boot process faster. They are working on stuff like:
- only when the network device is reported found by the kernel
do the things that rely on networking start up
- only when the filesystems are found, do the things that rely
on them being there (lvm, evms, dm, etc.)
And as others have pointed out, for a lot of busses, we just don't know
how long the device is going to take to be found. For one of my boxes
with a flaky USB controller, it takes _minutes_ for devices to be
detected (yes, it is broken hardware, but the rest of the system works
just fine while it is off and trying to be detected.)
Another point is that some busses just don't know when all the devices
on it are found, as there is no such state. USB is one such bus, and I
imagine firewire is another one. So there is no real way for us to
delay at insmod time for all devices to be found.
thanks,
greg k-h
next prev parent reply other threads:[~2006-02-22 20:26 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-17 22:45 Linux 2.6.16-rc4 Linus Torvalds
2006-02-17 23:14 ` 2.6.16-rc4: known regressions Adrian Bunk
2006-02-19 11:06 ` Pekka Enberg
2006-02-19 14:54 ` Adrian Bunk
2006-02-19 17:50 ` Pekka Enberg
2006-02-19 21:14 ` Pekka Enberg
2006-02-20 1:02 ` Greg KH
2006-02-20 7:08 ` Pekka J Enberg
2006-02-21 22:51 ` Pekka Enberg
2006-02-21 22:57 ` Kay Sievers
2006-02-21 23:33 ` Andrew Morton
2006-02-22 0:04 ` Kay Sievers
2006-02-22 0:15 ` Mark Lord
2006-02-22 0:21 ` Andrew Morton
2006-02-22 0:34 ` Linus Torvalds
2006-02-22 0:46 ` Con Kolivas
2006-02-22 1:06 ` Linus Torvalds
2006-02-22 11:21 ` Theodore Ts'o
2006-02-22 14:25 ` uswsusp & initrd -- was " Pavel Machek
2006-02-22 15:48 ` Joel Becker
2006-02-22 16:25 ` Theodore Ts'o
2006-02-22 17:33 ` Gabor Gombas
2006-02-22 17:57 ` Linus Torvalds
2006-02-22 18:37 ` Christian Trefzer
2006-02-22 18:59 ` Joel Becker
2006-02-22 19:18 ` Greg KH
2006-02-22 19:29 ` Arjan van de Ven
2006-02-22 19:40 ` Greg KH
2006-02-22 20:45 ` Jens Axboe
2006-02-22 22:51 ` Greg KH
2006-02-23 6:39 ` Jens Axboe
2006-02-23 17:29 ` Martin Bligh
2006-02-23 17:52 ` Greg KH
2006-02-23 18:01 ` Martin Bligh
2006-02-23 18:04 ` Arjan van de Ven
2006-02-23 20:26 ` Benjamin LaHaise
2006-02-24 23:42 ` Eric W. Biederman
2006-02-22 19:39 ` Linus Torvalds
2006-02-22 19:54 ` Andrew Morton
2006-02-22 20:02 ` Arjan van de Ven
2006-02-22 20:12 ` Linus Torvalds
2006-02-22 20:44 ` Andrew Morton
2006-02-22 20:26 ` Greg KH [this message]
2006-02-23 5:28 ` Jody McIntyre
2006-02-22 20:57 ` Diego Calleja
2006-02-22 21:19 ` Russell King
2006-02-22 21:30 ` Greg KH
2006-02-22 20:47 ` Bryan O'Sullivan
2006-02-22 19:07 ` Greg KH
2006-02-22 17:06 ` Matthias Andree
2006-02-23 12:36 ` Paulo Marques
2006-02-22 10:49 ` Diego Calleja
2006-02-22 7:06 ` Pekka J Enberg
2006-02-22 15:27 ` Kay Sievers
2006-02-22 15:44 ` Linus Torvalds
2006-02-22 16:03 ` Arjan van de Ven
2006-02-22 16:11 ` Christoph Hellwig
2006-02-22 17:17 ` sysfs regressions (was: 2.6.16-rc4: known regressions) Matthias Andree
2006-02-22 17:47 ` Greg KH
2006-02-22 16:18 ` 2.6.16-rc4: known regressions David Zeuthen
2006-02-22 16:35 ` Christoph Hellwig
2006-02-22 16:46 ` David Zeuthen
2006-02-22 16:51 ` Christoph Hellwig
2006-02-22 17:08 ` Linus Torvalds
2006-02-22 17:31 ` Linus Torvalds
2006-02-22 18:04 ` Al Viro
2006-02-23 3:01 ` John Stoffel
2006-02-22 17:51 ` Al Viro
2006-02-22 17:55 ` Christoph Hellwig
2006-02-22 18:10 ` Al Viro
2006-02-22 19:25 ` David Zeuthen
2006-02-22 17:10 ` Al Viro
2006-02-22 17:10 ` grundig
2006-02-22 17:14 ` Martin Bligh
2006-02-23 4:17 ` Theodore Ts'o
2006-02-22 18:10 ` Pekka Enberg
2006-02-22 8:28 ` Arjan van de Ven
2006-02-17 23:27 ` Linux 2.6.16-rc4 Nigel Cunningham
2006-02-18 8:59 ` Edmondo Tommasina
2006-02-18 9:19 ` Gene Heskett
2006-02-18 10:20 ` Con Kolivas
2006-02-18 11:26 ` Gene Heskett
2006-02-18 16:04 ` Jean Delvare
2006-02-22 22:02 ` Linux 2.6.16-rc4 edac oops Mark Rustad
2006-02-24 11:09 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2006-02-22 2:39 2.6.16-rc4: known regressions Yu, Luming
2006-02-22 3:16 ` Adrian Bunk
2006-02-22 6:55 Yu, Luming
2006-02-22 12:23 ` Adrian Bunk
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=20060222202638.GA16127@suse.de \
--to=gregkh@suse.de \
--cc=Joel.Becker@oracle.com \
--cc=akpm@osdl.org \
--cc=bunk@stusta.de \
--cc=gombasg@sztaki.hu \
--cc=johnstul@us.ibm.com \
--cc=kay.sievers@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=rml@novell.com \
--cc=torvalds@osdl.org \
--cc=tytso@mit.edu \
/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