From: Kay Sievers <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: cold plugging
Date: Mon, 16 Jan 2006 12:36:05 +0000 [thread overview]
Message-ID: <20060116123605.GA10539@vrfy.org> (raw)
In-Reply-To: <200601131415.30207.treeve@scarlet.be>
On Mon, Jan 16, 2006 at 09:44:38AM +1100, Aras Vaichas wrote:
> Alexander E. Patrakov wrote:
> >Thanks, but you probably missed the point. Your loop does NOT wait for
> >all events. I think that in my case the following happens:
> >
> >1) The script creates an empty /dev/.udev/queue directory
> >2) The script causes the kernel to emit uevents
> >3) udevd gets those uevents, and reacts upon them. This reaction
> >involves, among other things, making device nodes and calling
> >/sbin/modprobe to load new drivers.
> >4) Those drivers are bound to devices by the kernel, this produces new
> >uevents, go to (3).
> >5) When the internal queue of udevd becomes empty, it removes the
> >/dev/.udev/queue directory and the loop exits.
> >
> >The problem is that some modules take longer than 0.1s to detect their
> >hardware, so there is a period of time longer than 0.1s with the empty
> >udevd queue, after which new uevents arrive.
> >
> >6) such late uevents reach udevd after the loop ends, and then it may be
> >too late (but it is OK for me to ignore this for my scanner).
>
> I had a similar problem with a USB Flash drive that had a delay in the
> driver for it to "warm up". I just had a larger delay (and less cycles) in
> my queue polling script and it works OK.
Sure, this can happen with usb_storage. Secondary events, that arrive
after a module has scheduled device creation and return immediately,
have never been handled and there is no sane way to do it for udev.
I'm sure we don't want to introduce another round of sleep 1 to the
device management, like the nightmare we had in the past. The right
way to solve that - if you really depend on these devices at all - is
to have certain checkpoint during boot that have the dependency on
these devices recorded.
Ususal setups don't depend on scanners and such stuff to be fully
initialized before you can continue with booting, you can perfectly
do this asynchronously. If you depend on a usb-storage volume, you
better put that in fstab and let your "localfs" boot script wait until
all reuqirements are fulfilled, instead of guessing how long it could
take that "all" events have finished.
Thanks,
Kay
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id\x16865&op=click
_______________________________________________
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
next prev parent reply other threads:[~2006-01-16 12:36 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-13 12:17 cold plugging Treeve Jelbert
2006-01-13 12:32 ` Kay Sievers
2006-01-13 16:23 ` Alexander E. Patrakov
2006-01-13 18:47 ` Darren Salt
2006-01-13 18:52 ` Greg KH
2006-01-13 19:13 ` Scott James Remnant
2006-01-13 19:15 ` Marco d'Itri
2006-01-13 20:08 ` Darren Salt
2006-01-13 23:29 ` Pozsar Balazs
2006-01-13 23:53 ` Greg KH
2006-01-14 5:00 ` Alexander E. Patrakov
2006-01-14 5:57 ` Alexander E. Patrakov
2006-01-14 8:45 ` Pozsar Balazs
2006-01-14 12:48 ` Kay Sievers
2006-01-14 13:08 ` Kay Sievers
2006-01-14 13:10 ` Alexander E. Patrakov
2006-01-14 13:27 ` Kay Sievers
2006-01-14 16:28 ` Alexander E. Patrakov
2006-01-15 4:13 ` Dmitry Torokhov
2006-01-15 22:44 ` Aras Vaichas
2006-01-16 12:36 ` Kay Sievers [this message]
2006-01-16 12:53 ` Kay Sievers
2006-01-16 12:59 ` Olivier Blin
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=20060116123605.GA10539@vrfy.org \
--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;
as well as URLs for NNTP newsgroup(s).