Hey everyone, I have the latest news for vdev:
* [EXPERIMENTAL] Vdevd now has actions and helpers that will cause it to generate and propagate device events to libudev-compat clients. Libudev-compat clients should receive hotplug events as they would have with libudev, and they should be able to enumerate devices. This means that it should be possible now to run X11 with vdevd and libudev-compat, without needing an xorg.conf. To do so, you'll need to symlink vdev's /dev/metadata/udev to /run/udev. * Hardware database access performance has been significantly improved, and made more accurate (i.e. it should now match all prefixes against the device modalias, not just the longest one). By "significant", I mean by an order of magnitude. * As an optimization, vdevd can now run specially-crafted helper scripts as "daemonlets." Instead of fork()/exec()'ing a shell for each action, vdevd will instead fork() an action's command once and feed it a sequence of device requests, encoded as a list of environment variables. When running as a daemonlet, the command will be expected to run a loop that will parse the request from vdevd, call the command's main body of code, and report back the "exit" status. The heavyweight scripts (i.e. the ones that benefit from this) have all been turned into daemonlets in this round of commits. This leads to around 25% performance improvement (on average) for each command. * vdevd now benchmarks its actions, and writes performance information to its logfile at the end of coldplug processing. Just to give a reference frame: vdevd currently takes about 9 seconds to cold-process all of my laptop's hardware (i.e. it's slower than udev, but not that much slower). * libvdev is no longer a build target. Its code will instead be statically linked to vdevd and vdevfs. This is to make installation and deployment easier. There's no real loss to doing so--the library isn't that big in the first place, and the only programs that will ever use it are vdevd and vdevfs (note that libvdev is not at all related to libudev). * Bugfixes: -- the pre-seed script that runs before coldplug device processing can now create device nodes, and signal to vdevd to run the associated helper scripts anyway. -- the pre-seed script will select the first free loop device (with losetup -f) for the hardware database. -- [NEEDS CONFIRMATION] the ifname.sh script should select the correct config file now. I'm still chasing down a "Device or resource busy" bug in renaming interface names, so please keep your eye out for it. -- [NEEDS CONFIRMATION] the disk.sh helper should now generate /dev/disk for USB disks. Thanks to everyone who helped me test vdevd so far! -Jude
_______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng