linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Aras Vaichas <arasv@magellan-technology.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: cold plugging
Date: Sun, 15 Jan 2006 22:44:38 +0000	[thread overview]
Message-ID: <43CAD056.9080202@magellan-technology.com> (raw)
In-Reply-To: <200601131415.30207.treeve@scarlet.be>

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. The worst case scenario is that this loop 
delays the boot for 1 second, which I can live with.

mkdir -p /dev/.udev/queue
udevsynthesize
udevd_timeout\x10
while [ -d /dev/.udev/queue/ ]; do
         /usr/bin/sleep 1
         udevd_timeout=$(($udevd_timeout - 1))
         if [ $udevd_timeout -eq 0 ]; then
                 echo "timeout"
                 break
         fi
done
echo "coldplug complete"

regards,

Aras Vaichas


-------------------------------------------------------
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

  parent reply	other threads:[~2006-01-15 22:44 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 [this message]
2006-01-16 12:36 ` Kay Sievers
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=43CAD056.9080202@magellan-technology.com \
    --to=arasv@magellan-technology.com \
    --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).