From: "Ihar 'Philips' Filipau" <filia@softhome.net>
To: Greg KH <greg@kroah.com>
Cc: Linux Kernel ML <linux-kernel@vger.kernel.org>
Subject: Re: udev is too slow creating devices
Date: Sun, 19 Sep 2004 02:06:32 +0200 [thread overview]
Message-ID: <414CCD88.30001@softhome.net> (raw)
In-Reply-To: <20040918213023.GB1901@kroah.com>
Well, I got your point.
I promise I will not use udev ;-)
For last embedded system where I have had external usb storage used
for firmware upgrade, I used preloading of usb-storage - and everything
worked well. Seems it worked better than udev will ever worked - with 0
user space calls and immediate accessibility of /dev/sda ;-)))
I will not try to argue, it is rather pointless for me at moment,
being unemployed and far from any of my systems.
P.S. Funny diversion from OpenBSD thinking. OpenBSD intentionally do not
support loadale modules, to prevent _any_ user space attempt to modify
running kernel.
P.P.S. Another day, I hope, you will understand that right system need
to provide people with two opposite ways of doing things. Sometimes it
is advantage to be event-based and asynchronous, sometimes it is very
convient to be dumb & synchronous. This two options are not mutually
exclusive. I/O subsystem does both ways: you can be dumb and synchronous
with read() (as most applications do - regardless of actual I/O being
event-driven), or asynchronous with aio_* stuff (sacrificing simplicity
of application). Giving a choice is right way to go.
Greg KH wrote:
> On Sat, Sep 18, 2004 at 09:44:03PM +0200, Ihar 'Philips' Filipau wrote:
>
>>>That will be soon going away with my multi-threaded device discovery
>>>work. And I run pci hotplug boxes (and so do all of the PCMCIA/CardBus
>>>users), so don't discard PCI from being a async bus type :)
>>>
>>>Async is now the norm, and drivers like the microcode module are the
>>>exception.
>>
>> I wanted you to say that.
>>
>> That's wrong attitude. I'm working on workstation where 95% of
>>hardware plugged 100% of time. That's not exception. Not eerything is
>>hot-pluggable USB/FireWire/whatever.
>
>
> Do you have PCI devices? pnp-isa devices? Ok, those all are
> "hotpluggable" as far as the kernel is concerned. They are loaded on
> demand by userspace when the kernel sees the device.
>
> If not, what kind of devices do you have? The only place the
> "on-demand" loading of modules doesn't work is for embedded systems that
> have no way of discovering their devices, and need to be hardcoded in
> the kernel. But people are working on that :)
>
>
>> Event-based hot-plug scripts are great thing. As an implementation.
>>But user cares about one thing: 'modprobe usb-storage; mount /whatever'
>>working reliably.
>
>
> No, they want to plug in their device and have the proper module
> automatically loaded, and then the device mounted and the icon show up
> on their desktop all automatically. With hotplug and its helpers (udev,
> /etc/dev.d/ and HAL) this all works just fine today.
>
>
>> /etc/dev.d probably great thing - but I'm not going to implement FSM
>>into every shell script which does modprobe for sake being Ok with
>>dynamic /dev/.
>
>
> Fine, I'm not forcing you to do anything you don't want to do. It
> sounds like you like polling for your device nodes. Great, live with
> that, it is one way to do this :)
>
>
>> You need to change your attitude for first.
>
>
> Change it to what? A combative one? Gladly :)
>
>
>>For second - come up with a way for user space to block until device
>>is here, and if it is not here/error detected - fail.
>
>
> Please explain (with code) how to do that for something as "simple" as
> the usb-storage driver. Then we can continue this discussion.
>
>
>> As it was said before - /all/ we need, is to be able to tell
>>discovery phase from idle state of driver. "/All/" is quite much here -
>>but it must be a goal.
>
>
> Wrong. Our goal is to make Linux "just work". And that is what is
> happening today. This "wait for modprobe" stuff helps no one.
>
>
>> I'm absolutely sure, that for PCI devices it is implementable quite
>>easy - probing is already done outside of modules. And we know precisely
>>are we Ok, or are we not. And we know when we are done. If it is not so
>>for USB yet - then it is bug which must be fixed.
>
>
> PCI and USB both use the same probe core code. So it works the same :)
>
> You think you are grumpy now, just wait till I add threads to the probe
> code...
>
If you are not yet threaded - so that must be done.
next prev parent reply other threads:[~2004-09-19 0:06 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-18 19:44 udev is too slow creating devices Ihar 'Philips' Filipau
2004-09-18 20:37 ` Marc Ballarin
2004-09-18 21:30 ` Greg KH
2004-09-19 0:06 ` Ihar 'Philips' Filipau [this message]
2004-09-19 0:41 ` Greg KH
2004-09-19 8:18 ` Ihar 'Philips' Filipau
2004-09-20 4:19 ` Greg KH
2004-09-19 4:38 ` Benjamin Herrenschmidt
2004-09-19 8:27 ` Ihar 'Philips' Filipau
2004-09-19 11:53 ` Alexander E. Patrakov
2004-09-19 17:32 ` Greg KH
2004-09-19 18:43 ` Grzegorz Kulewski
2004-09-20 4:11 ` Greg KH
2004-09-20 10:52 ` Jon Masters
2004-09-19 12:00 ` Marc Ballarin
2004-09-19 14:25 ` Ihar 'Philips' Filipau
2004-09-19 15:14 ` Marc Ballarin
2004-09-19 16:00 ` Alexander E. Patrakov
2004-09-19 17:11 ` Marc Ballarin
2004-09-19 17:30 ` Greg KH
2004-09-20 2:29 ` Alexander E. Patrakov
2004-09-20 16:17 ` Giacomo A. Catenazzi
2004-09-29 23:38 ` Randy.Dunlap
2004-09-29 23:53 ` Greg KH
2004-09-19 19:40 ` Ihar 'Philips' Filipau
2004-09-20 0:05 ` Kyle Moffett
2004-09-20 4:06 ` Greg KH
2004-09-20 8:54 ` Marc Ballarin
2004-09-20 0:03 ` Benjamin Herrenschmidt
-- strict thread matches above, loose matches on Subject: below --
2004-09-18 19:25 Ihar 'Philips' Filipau
2004-09-18 21:24 ` Greg KH
[not found] <http://lkml.org/lkml/2004/9/15/119@localhost.localdomain>
2004-09-15 14:26 ` Michael Thonke
[not found] <http://lkml.org/lkml/2004/9/14/316@localhost.localdomain>
2004-09-14 20:30 ` Michael Thonke
2004-09-14 18:33 Giacomo A. Catenazzi
2004-09-14 18:42 ` Greg KH
2004-09-14 19:21 ` Chris Meadors
2004-09-14 19:40 ` Chris Friesen
2004-09-14 19:52 ` Greg KH
2004-09-14 20:00 ` Chris Friesen
2004-09-14 20:43 ` Giacomo A. Catenazzi
2004-09-14 21:35 ` Greg KH
2004-09-14 21:45 ` Marco d'Itri
2004-09-14 21:51 ` Greg KH
2004-09-14 22:47 ` Andrea Arcangeli
2004-09-14 23:04 ` Greg KH
2004-09-14 23:20 ` Andrea Arcangeli
2004-09-14 23:34 ` Gianni Tedesco
2004-09-14 23:58 ` Andrea Arcangeli
2004-09-15 16:15 ` Greg KH
2004-09-15 19:21 ` Andrea Arcangeli
2004-09-15 22:09 ` Chris Friesen
2004-09-15 22:15 ` Andrea Arcangeli
2004-09-15 22:25 ` Greg KH
2004-09-15 22:23 ` Greg KH
2004-09-15 22:46 ` Andrea Arcangeli
2004-09-15 13:55 ` Giacomo A. Catenazzi
2004-09-15 14:36 ` Ian Campbell
2004-09-15 15:20 ` Tonnerre
2004-09-15 15:45 ` Giacomo A. Catenazzi
2004-09-15 16:12 ` Greg KH
2004-09-15 16:51 ` Marc Ballarin
2004-09-15 18:00 ` Greg KH
2004-09-19 16:51 ` Jon Masters
2004-09-19 18:53 ` Andreas Jellinghaus
2004-09-20 2:16 ` Alexander E. Patrakov
2004-09-17 8:06 ` Alexander E. Patrakov
2004-09-15 16:11 ` Greg KH
2004-09-15 16:09 ` Greg KH
2004-09-17 7:48 ` Alexander E. Patrakov
2004-09-14 22:03 ` Marc Ballarin
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=414CCD88.30001@softhome.net \
--to=filia@softhome.net \
--cc=greg@kroah.com \
--cc=linux-kernel@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