On 2015-07-07 17:45, Jude Nelson wrote:
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.

CONFIRMED WORKING - a great milestone Jude, F***ing good work!

Both keyboard and mouse working without Xorg.conf  :-)

When inserting flash memory sticks they get autodetected and device nodes created :-)

Question This is working without a value for
/proc/sys/kernel/hotplug so it is not used and
only for 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
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to