From: Kay Sievers <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: [PATCH] udevsettle should read udev not kernel seqnum first
Date: Fri, 23 Mar 2007 16:53:48 +0000 [thread overview]
Message-ID: <1174668828.4550.13.camel@lov.localdomain> (raw)
In-Reply-To: <20070323144655.GD30083@ojjektum.uhulinux.hu>
On Fri, 2007-03-23 at 17:36 +0100, Pozsar Balazs wrote:
> On Fri, Mar 23, 2007 at 05:26:48PM +0100, Kay Sievers wrote:
> > On 3/23/07, Pozsar Balazs <pozsy@uhulinux.hu> wrote:
> > >I think that the order of reading the kernel and udev seqnum files
> > >should be: first udev, then kernel, because with the current code
> > >there's a chance of exiting too early, for example in the following
> > >scenario:
> > > 1. kernel seqnum is X, udevsettle reads it
> > > 2. udev finishes processing the event X, which generates new events
> > > (for example a modprobe), udev seqnum becomes X
> > > 3. udevsettle reads the udev seqnum which is X now, so it exits
> > > 4. at least another event comes which should have been waited for
> >
> > Makes sense. I've applied this.
> >
> > Note, that the kernel interaction is async, and the device creation in
> > the kernel is threaded, it can always happen that there is currently
> > no pending uevent in the kernel, even when udev has triggered a device
> > creation, an it just happens shortly after udevsettle "thinks", that
> > there is nothing left to wait for.
>
> And in this case, how case one wait until the kernel and udev really
> settles down?
You can't. In some cases it's possible to watch for kernel-treads, like
the usb-storage device probing, but in a lot of cases it's just
impossible. And there is absolutely no guarantee, that these threads
will always have the same name, because that can change with every
kernel release.
In cases like boot-up, you better wait for the device that you expect to
show up, instead of "all" devices. If your kernel command line
specifies:
root=/dev/disk/by-id/scsi-SATA_ST910021AS_3MH0Y3KF-part1
you just wait until that device is created. In the real root, you may
want to way for all mandatory devices listed in fstab, instead of
assuming that there is a constant event flow of events you can wait for.
Kay
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CIDÞVDEV
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
prev parent reply other threads:[~2007-03-23 16:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-23 14:46 [PATCH] udevsettle should read udev not kernel seqnum first Pozsar Balazs
2007-03-23 16:26 ` Kay Sievers
2007-03-23 16:36 ` Pozsar Balazs
2007-03-23 16:53 ` Kay Sievers [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=1174668828.4550.13.camel@lov.localdomain \
--to=kay.sievers@vrfy.org \
--cc=linux-hotplug@vger.kernel.org \
/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