On Sun, Dec 15, 2013 at 12:33 PM, Martin Mares <mj@xxxxxx> wrote: >> It does that per process doing that, and that's the problem for how >> udev works/worked. The binary hwdb is on-disk and can be mmaped, and >> there is no difference between initialization, first, or subsequent >> queries. > > OK, point taken. > > I see that a mechanism for fast lookup of hardware identification data > is needed. However, why should such a mechanism depend on udev, systemd, > or Linux in general? > > What I would really like to have is a universal library for HW lookup, > independent of anything else and widely portable. All the hardware data > would be provided by other packages -- pci.ids, usb.ids, kernel modules, > etc. -- and compiled to a binary format available for instant queries. Yeah, that's what udev's hwdb is for us now. For the textual strings, it seems relatively easy to commit to a reasonable stable format, but I doubt that text strings alone would justify supporting a binary format to compile to. I wouldn't want to commit to cross-platform stability for other device properties we use, or things which will end up in the hwdb. It's hard enough already to coordinate the development across Linux distributions, and generic cross-platform device-management metadata maintenance doesn't sound too promising or an easy goal to me. Some data of hwdb is entirely Linux and Linux kernel device specific. The hwdb query string to lookup the binary radix tree in the hwdb file is just the Linux kernel modalias strings, and they are directly passed as queries to hwdb. Other platforms could do the same thing, sure, but I'm not sure this really makes too much sense. > Do I miss anything? No, you didn't. It's just that we develop for and work with Linux only, and this is really hard enough already. :) I personally never think about other platforms because I don't really know/care about or use them; and hwdb was just a tiny and not important enough piece of the problem we need to solve, so it became part of udev. Kay -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html