[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9b2b86520905010843p63daf856pd537adcb439cbaed@mail.gmail.com>
Date: Fri, 1 May 2009 16:43:49 +0100
From: Alan Jenkins <sourcejedi.lkml@...glemail.com>
To: Greg KH <greg@...ah.com>
Cc: Chris Wedgwood <cw@...f.org>, Kay Sievers <kay.sievers@...y.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Jan Blunck <jblunck@...e.de>
Subject: Re: [PATCH] driver-core: devtmpfs - driver core maintained /dev tmpfs
On 5/1/09, Greg KH <greg@...ah.com> wrote:
> On Thu, Apr 30, 2009 at 11:57:54PM -0700, Chris Wedgwood wrote:
>> On Thu, Apr 30, 2009 at 03:23:42PM +0200, Kay Sievers wrote:
>>
>> > Devtmpfs lets the kernel create a tmpfs very early at kernel
>> > initialization, before any driver core device is registered. Every
>> > device with a major/minor will have a device node created in this
>> > tmpfs instance. After the rootfs is mounted by the kernel, the
>> > populated tmpfs is mounted at /dev. In initramfs, it can be moved to
>> > the manually mounted root filesystem before /sbin/init is executed.
>>
>> Why can't the initramfs create /dev and populate it?
>
> Right now it does, and it takes about 1-2 seconds to do so depending on
> the hardware.
>
> Which is over double the time it takes to boot the kernel entirely these
> days, so it is quite noticable.
Please, this argument is pants. The initramfs _could_ create /dev
and populate it. Neither crawling /sys or creating device nodes is
horribly expensive. It's udev that adds overhead which is not needed
at this point. If the initramfs was optimised to do the same as
devtmpfs, it needn't take more than 50ms on my eeepc.
Here's my 630Mhz Celeron in action:
# Crawl sysfs to discover valid devices
time ls -l /sys/dev/ > /dev/null
real 0m0.008s
user 0m0.000s
sys 0m0.007s
# Create X number of device nodes
time cp -a /dev/block /dev/char .dev2
real 0m0.016s
user 0m0.003s
sys 0m0.013s
If this deserves to live in the kernel, let's not pretend that it is
because it works dramatically faster.
Thanks
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists