Re: [PATCH] Driver Core: devtmpfs - kernel-maintained tmpfs-based/dev
From: David Dillow
Date: Tue Aug 11 2009 - 10:36:24 EST
On Mon, 2009-08-10 at 08:39 -0700, Greg KH wrote:
> On Sat, Aug 08, 2009 at 07:07:56PM -0400, David Dillow wrote:
> > I followed up with Greg offline to make sure I was looking at the right
> > thing, but the upshot is that Moblin does not use an initrd and devtmpfs
> > does not in any way reduce the amount of code for those distros that
> > want to support more than the root=/dev/blah syntax.
>
> Like Scott points out, this option now allows distros to use blkid
> directly instead of udev if they want to implement things like this
> without udev.
But they already have that functionality -- RedHat has been doing it for
ages, without devtmpfs. No new kernel code needed.
> > Given Eric and Arjan's numbers about the time it takes to populate /dev
> > from /sys -- pointing the speed problem squarely at udev or the ruleset
> > -- I don't see much of a win for devtmpfs other than avoiding a
> > static /dev to make init=/bin/sh work.
>
> That's a very big win right there, don't you think?
No, not really. It isn't hard to make a static /dev, or a rescue initrd
for the cases with dynamic device numbers.
> Also, embedded and
> rescue disks also would like it for this very reason.
As a former embedded developer, I'd rather not waste kernel space on
something I can throw away when I've booted. I know where my root is,
and can statically populate /dev. Now, perhaps more embedded devices are
moving to use USB for their root, but then it would seem to make more
sense to use Eric/Arjan's program to populate /dev and do blk_id if I
need to find a label or UUID, and then I can reuse the memory when I'm
done. Perhaps I can find it by path and avoid the blk_id, but I still
can do that without more kernel code.
And I realize that we're not talking about a lot of kernel memory here,
so it depends on one's definition of waste.
> > You cannot rely on it for a hotplug disk such as USB, as it doesn't do
> > the root=LABEL=usbroot that you'd want to do since the location is not
> > stable.
>
> Again, not all the world requires such labels.
Sure. But it seems the world can get what the best of both worlds from a
simple program to populate /dev from sysfs.
An interesting experiment may be time a boot to initial user space with
and without devtmpfs -- and compare the difference to Eric/Arjan's
program on the same hardware. I wonder how much is really saved.
--
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/