Re: Dynamic major/minor numbers (or dropping them completely)

From: Chris Snook
Date: Fri Aug 03 2007 - 17:14:22 EST


Eduard-Gabriel Munteanu wrote:
*This message was transferred with a trial version of CommuniGate(r) Pro*
Currently, the kernel has the following properties:
1) initramfs can be used to boot the system. We don't need any predefined /dev entries.
2) udev can be started from the initramfs to create the required entries in /dev. udev doesn't care about major/minor numbers.
3) Most distros already use udev and maybe initramfs. If there are exceptions, they can be easily converted.

For the first part, I'm asking: is there any reason why new char/block drivers shouldn't use dynamic major/minor numbers? Is there any reason against converting the whole kernel to dynamic major/minor numbers?

Okay, maybe the previous questions looked useless from a pragmatic POV. But why shouldn't the whole major/minor numbering system be dropped completely? sysfs already maintains a hierachy of device drivers and kernel subsystems, one which is better than the major/minor system. The current system could be replaced by a single-numbered, dynamically-allocated scheme.

Device files could be stored on a tmpfs filesystem, so that we don't make any changes to current filesystems. Apps won't need to be modified, since they access /dev entries by name, provided udev maintains the current naming scheme.

Any thoughts on this?

You're correct that dynamic major/minor numbers are sufficient for most purposes, but embedded users really need their static numbers. As for ripping out major/minor numberings, that's a non-starter. Too much of our device management infrastructure is based around this numbering scheme, and there isn't really anything wrong with it to justify breaking everything in the change.

As a rule of thumb, if you ever find yourself wondering why we still support doing statically something we can now do dynamically, the answer is generally that doing it dynamically sucks for embedded.

-- Chris
-
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/