LWN: Comments on "The udev tail wags the dog" https://lwn.net/Articles/456217/ This is a special feed containing comments posted to the individual LWN article titled "The udev tail wags the dog". en-us Thu, 02 Oct 2025 02:02:32 +0000 Thu, 02 Oct 2025 02:02:32 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net x86 discoverability is over rated https://lwn.net/Articles/463523/ https://lwn.net/Articles/463523/ jcm <div class="FormattedComment"> ARM vendors may care about enumerable device information if they are targeting general purpose Operating Systems as opposed to the existing tight vertical integration process.<br> </div> Tue, 18 Oct 2011 16:15:11 +0000 x86 discoverability is over rated https://lwn.net/Articles/456669/ https://lwn.net/Articles/456669/ dlang <div class="FormattedComment"> in a typical ARM environment the entire OS is provided by the system vendor, that's not a very good argument.<br> <p> ARM vendors don't really care about Device Trees, they are pretty happy just hard-coding the kernel itself.<br> <p> it's the people who want to upgrade the devices and people who want to maintain the upstream tree that want the consolidation made available by device trees.<br> </div> Mon, 29 Aug 2011 02:26:31 +0000 x86 discoverability is over rated https://lwn.net/Articles/456668/ https://lwn.net/Articles/456668/ mjg59 <div class="FormattedComment"> The device tree is supposed to be provided by the boot loader, which in a typical ARM environment is supplied by the system vendor.<br> </div> Mon, 29 Aug 2011 02:15:31 +0000 x86 discoverability is over rated https://lwn.net/Articles/456667/ https://lwn.net/Articles/456667/ dlang <div class="FormattedComment"> ACPI is a way for the kernel to lookup what hardware exists in tables created by the hardware manufacturer. The tables are (in theory) OS independant.<br> <p> Device Trees are a way for the System Administrator who installs an OS on the system what hardware exists.<br> <p> It's far more likely that the hardware manufacturer is going to accurately identify what hardware exists than it is that the System Administrator is going to know what hardware exists on a system.<br> <p> Device Trees may look like they are discoverable if you are only looking at it from the point of view of an OS that has the Device Tree provided to it. But from the point of view of the person trying to install the system who has to figure out what to put in the Device Tree, they are not discoverable, they are the output of research, not the source of information.<br> </div> Mon, 29 Aug 2011 01:39:44 +0000 x86 discoverability is over rated https://lwn.net/Articles/456662/ https://lwn.net/Articles/456662/ mjg59 <div class="FormattedComment"> Oh, ok, I think I see the confusion. /proc/device-tree is just a plain text representation of the device tree. It's to let developers work out whether the firmware's giving them something broken. Userspace should never need to use it, and that's why Kay's objecting to an attempt to make userspace use it. The reason it's an issue in this case is that there's no generic kernel interface to say "This machine is a model X made by manufacturer Y" - we'd use the DMI interface on x86, but DMI is a spec that doesn't exist on ARM.<br> </div> Mon, 29 Aug 2011 00:32:17 +0000 x86 discoverability is over rated https://lwn.net/Articles/456661/ https://lwn.net/Articles/456661/ mjg59 <div class="FormattedComment"> Device tree and ACPI are both mechanisms for permitting discovery of non-discoverable devices. Device tree also provides metadata such as GPIO mappings, while ACPI abstracts that.<br> </div> Mon, 29 Aug 2011 00:28:01 +0000 x86 discoverability is over rated https://lwn.net/Articles/456658/ https://lwn.net/Articles/456658/ dlang <div class="FormattedComment"> for x86 systems, most devices connect to a bus where you can send a query to the bus asking what devices are connected. The very small subset of devices that don't work this way tend to be devices that are standard across all manufacturers.<br> <p> on many embedded systems (including ARM) this isn't the case. the kernel running on the system has no way of guessing what will happen if it sends data out to some I/O address. The kernel must be told about every device in the system and where it is.<br> <p> it's the fact that almost every device on an x86 system is on a bus that can report what is there that makes the systems "discoverable"<br> </div> Sun, 28 Aug 2011 23:57:03 +0000 x86 discoverability is over rated https://lwn.net/Articles/456655/ https://lwn.net/Articles/456655/ giraffedata Well so far, I'm not seeing anything that makes the adjective "discoverable" apply more to an x86 system than to one of these mysterious systems that has a /proc/device_tree. All I see is a different set of protocols for conducting discovery or reporting its results. Sun, 28 Aug 2011 23:04:38 +0000 x86 discoverability is over rated https://lwn.net/Articles/456652/ https://lwn.net/Articles/456652/ mjg59 <div class="FormattedComment"> Most hardware on an x86 system is either a pretty fundamental part of the PC platform, on an enumerable bus such as USB or PCI, or described in ACPI. All these devices will appear in sysfs and will generate appropriate udev events, so userspace can load the appropriate drivers. The only other system information usually consumed by userspace is the DMI data, which is exposed in /sys/class/dmi/id .<br> </div> Sun, 28 Aug 2011 22:11:45 +0000 x86 discoverability is over rated https://lwn.net/Articles/456648/ https://lwn.net/Articles/456648/ robbe <div class="FormattedComment"> As I understand it: the kernel gets its info from the BIOS (x86), bootloader or device tree. It puts the information in /sys/devices, on my x86-box under platform/, system/, and LNXSYSTM:00/ -- userspace can read the gory details there.<br> <p> Seems like on this device-tree system some device is not ending up under /sys/devices, or too little actual info is put there, although the kernel had it handed to it via the device tree.<br> </div> Sun, 28 Aug 2011 20:35:26 +0000 Merge into the kernel? https://lwn.net/Articles/456646/ https://lwn.net/Articles/456646/ robbe <div class="FormattedComment"> I would have liked that to happen in the early days of udev (two or three years ago), when it was often impossible to upgrade one of these without upgrading the other. Could get nasty if you tried to run a newer kernel on a stable/enterprise distro.<br> <p> Now these birth pains are mostly gone, I see no pressing need to merge. So udev could serve as a poster child for the "incubator" idea proposed by dberkholz at <a href="https://lwn.net/Articles/456308/">https://lwn.net/Articles/456308/</a><br> </div> Sun, 28 Aug 2011 20:17:05 +0000 x86 discoverability is over rated https://lwn.net/Articles/456641/ https://lwn.net/Articles/456641/ giraffedata OK, well I'm more confused than ever. On a system such as x86 that is discoverable, how does a user space program get the information that on other systems it gets from /proc/device_tree? And I presume there's a difference in how the kernel gets that information as well? <p> (There was an article about this in LWN not long ago, but I didn't get it then either). Sun, 28 Aug 2011 19:18:56 +0000 x86 discoverability is over rated https://lwn.net/Articles/456624/ https://lwn.net/Articles/456624/ nhippi <div class="FormattedComment"> If the graphics adapter is on a enumerable bus such as PCI, bios or device tree have nothing to do with it. The Linux kernel PCI code will scan the bus and load the needed module.<br> <p> Device tree/DMI are more useful in telling kernel about devices that cannot be automatically scanned. Usually such devices are "soldered on", so the need of changing the Device tree is quite rare.<br> <p> Life in X86 and DMI is a bit more complicated, as Bios also probes some devices and puts them in DMI. Often instead of probing those devices in kernel again, we trust the bios with varying degrees of success.<br> </div> Sun, 28 Aug 2011 09:12:10 +0000 x86 discoverability is over rated https://lwn.net/Articles/456619/ https://lwn.net/Articles/456619/ giraffedata <blockquote> I'd rather have a simple bootloader and device tree than an ACPI or EFI BIOS in my PC. Perhaps the BIOS could be chain loaded for OSes that need it. </blockquote> <p> Where would your device tree come from? I presume you could install a new graphics controller in your PC; how would the device tree get changed so Linux and the things running under it know to drive it differently than the old one? Sun, 28 Aug 2011 03:33:23 +0000 The udev tail wags the dog https://lwn.net/Articles/456568/ https://lwn.net/Articles/456568/ jcm <div class="FormattedComment"> You know what I'd like to see, Jon? A story covering the brave new world we live in now that explains e.g. udev tags and its database, etc. I'd love to see this kind of stuff in a book but I've given up on the notion things will stay still long enough for that to happen. <br> </div> Sat, 27 Aug 2011 00:47:09 +0000 Merge into the kernel? https://lwn.net/Articles/456567/ https://lwn.net/Articles/456567/ jcm <div class="FormattedComment"> Make sure to merge gnome-shell while you're at it :-)<br> </div> Sat, 27 Aug 2011 00:42:39 +0000 Linux Plumbers fail https://lwn.net/Articles/456427/ https://lwn.net/Articles/456427/ BenHutchings <div class="FormattedComment"> It most certainly has been discussed at an LPC.<br> <p> The nodes in a device tree are supposed to be bound to devices in the Linux device model. udev will then receive the information from those nodes through uevents and sysfs, just as it does for devices that are discovered on a PCI or USB bus. In this case some nodes with useful information are not bound to anything in the device model, and that should be fixed.<br> <p> </div> Thu, 25 Aug 2011 20:11:04 +0000 Linux Plumbers fail https://lwn.net/Articles/456403/ https://lwn.net/Articles/456403/ martin.langhoff <div class="FormattedComment"> Thanks for covering this. My first reaction to Kay's argument was -- don't we have Linux Plumbers so these things get discussed and agreed upon? <br> <p> There is a big push from the kernel side to consolidate platforms on using device-tree - see for example <a href="http://www.linaro.org/linaro-blog/2011/08/15/enabling-device-tree-support-on-arm-platforms/">http://www.linaro.org/linaro-blog/2011/08/15/enabling-dev...</a> -- but perhaps device-tree has not been discussed at a plumbers conference.<br> </div> Thu, 25 Aug 2011 18:03:50 +0000 The udev tail wags the dog https://lwn.net/Articles/456392/ https://lwn.net/Articles/456392/ iabervon <div class="FormattedComment"> It's worth noting that the udev maintainer is also a kernel developer. So this is actually an instance of a kernel developer refusing to support a particular user-space interface that, he thinks, is poorly designed or hard to maintain into the future; the uncommon aspect is that he's doing it in his role as maintainer of a user-space project.<br> </div> Thu, 25 Aug 2011 17:47:18 +0000 x86 discoverability is over rated https://lwn.net/Articles/456342/ https://lwn.net/Articles/456342/ chrispe <div class="FormattedComment"> I'd rather have a simple bootloader &amp; device tree than an ACPI or EFI BIOS in my PC. Perhaps the BIOS could be chain loaded for OSes that need it.<br> </div> Thu, 25 Aug 2011 09:41:19 +0000 The udev tail wags the dog https://lwn.net/Articles/456322/ https://lwn.net/Articles/456322/ dilinger <div class="FormattedComment"> I'd been hoping that a discussion on the devicetree-discuss list might yield some possible ways forward, but so far there haven't been a lot of responses to my post. :(<br> <p> <a href="http://thread.gmane.org/gmane.linux.drivers.devicetree/7495">http://thread.gmane.org/gmane.linux.drivers.devicetree/7495</a><br> </div> Thu, 25 Aug 2011 04:43:31 +0000 Merge into the kernel? https://lwn.net/Articles/456313/ https://lwn.net/Articles/456313/ josh <div class="FormattedComment"> Seems like a perfect candidate.<br> </div> Thu, 25 Aug 2011 02:40:49 +0000 Merge into the kernel? https://lwn.net/Articles/456311/ https://lwn.net/Articles/456311/ cesarb <div class="FormattedComment"> Perhaps udev could be merged into the kernel, together with perf and kvm? ;-)<br> </div> Thu, 25 Aug 2011 02:36:55 +0000 The udev tail wags the dog https://lwn.net/Articles/456306/ https://lwn.net/Articles/456306/ corbet You're not running a system that actually uses a device tree. x86 systems are (mostly) discoverable and don't need an external file to know what the layout of the hardware is. Thu, 25 Aug 2011 02:19:01 +0000 The udev tail wags the dog https://lwn.net/Articles/456299/ https://lwn.net/Articles/456299/ jonabbey <div class="FormattedComment"> Neither my Fedora nor my RHEL boxes have a /proc/device-tree file.<br> <p> Am I missing something?<br> </div> Thu, 25 Aug 2011 01:46:46 +0000