From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Alexander E. Patrakov" Date: Sat, 14 Jan 2006 13:10:48 +0000 Subject: Re: cold plugging Message-Id: <43C8F858.8060707@ums.usu.ru> List-Id: References: <200601131415.30207.treeve@scarlet.be> In-Reply-To: <200601131415.30207.treeve@scarlet.be> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Kay Sievers wrote: >On Sat, Jan 14, 2006 at 10:00:29AM +0500, Alexander E. Patrakov wrote: > > >>Greg KH wrote: >> >> >> >>>Why does USB take longer for you? What is taking such a long time? >>> >>> >>The /dev/bus/usb/... node for my Mustek Plug-N-Scan 1200 UB Plus scanner. >> >> > >It's the simplest way to wait for all events. Depending how you handle >dependencies/checkoints on bootup, it may be sudfficient if all localfs >devices have appeared and you can let the other events finish asynchronously. > > 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). A "solution" is to rewrite the script so that it repeatedly checks that the queue stays empty for some period of time (i.e., retests the existence of /dev/.udev/queue several times with delays between them) instead of exiting immediately when the queue becomes empty for a moment. -- Alexander E. Patrakov ------------------------------------------------------- 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_id865&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