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/