Re: [PATCH] driver-core: devtmpfs - driver core maintained /dev tmpfs
From: Alan Jenkins
Date: Sat May 02 2009 - 15:56:23 EST
On 5/2/09, Michael Riepe <michael.riepe@xxxxxxxxxxxxxx> wrote:
> Hi!
>
> Kay Sievers wrote:
>> On Fri, May 1, 2009 at 15:18, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
>>
>>>>No tool ever has a chance to get to the information only available at
>>>>early kernel init. All such tools will need to "replay" what the
>>>>kernel already did. This is intended to save us from doing this, and
>>>>retain the information which is there, but lost at the moment the
>>>>tools have the first chance to run.
>>>
>>>Serious question - which is the better problem to fix ?
>>
>>
>> I'm very sure, you can not fix it outside the kernel. Or do you have
>> an idea how to create the missing device nodes for device without
>> crawling sysfs, when the first userspace process is started?
>
> Well, what about this? Let the kernel buffer all events until udev is
> ready to process them. Once it signals that it's up and running - the
> best method for that is tbd -, empty the queue, and then discard it,
> including the additional code. If udev doesn't come up in time after
> init has started, or the buffer overflows, assume the system is using a
> static /dev and throw away the queue as well. If udev starts too late,
> it can still do a coldplug - in that case, boot speed is already so low
> that the additional delay hardly matters.
Already answered by Kay.
<http://groups.google.com/group/linux.kernel/msg/9851b3f5e82d65ef>
But the premise of this question is bogus anyway. You don't gain
anything by capturing events earlier; replaying them is really quite
cheap, and extracting device numbers and names from sysfs is even
cheaper. The gains are in reducing how much processing you need to do
on them. Both in terms of performance, and in making it
simple/neutral enough to be considered for kernel inclusion, which in
turn brings a number of small benefits.
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/