busybox/examples
Denys Vlasenko 5bce135e36 mdev: improve $SEQ handling; improve debug logging
Sequential run of concurrent mdev's was too simplistic:
they waited for /dev/mdev.seq to match. This could sometimes
cause cumulative loss of time on the order of a second.

Added SIGCHLD signaling from exiting mdev to all other mdev's.
Added debugging required to see that code actually works as intended.

Example of /dev/mdev.log (with "woken up" elevated from dbg lvl 3 to 2):

mdev[1023]: first seq written
     ^^^^ seq, not pid
mdev[1023]: 35.022395 ACTION:add SUBSYSTEM:module DEVNAME:(null) DEVPATH:/module/lib80211
mdev[1023]: rule matched, line -1
                          ^^^^^^^ means "default rule"
mdev[1023]: 35.022676 exiting
            ^^^^^^^^^ second,usec timestamp
mdev[1024]: 35.069691 ACTION:add SUBSYSTEM:vc DEVNAME:vcs9 DEVPATH:/devices/virtual/vc/vcs9
mdev[1024]: dev 7,9
mdev[1025]: 35.069889 waiting for '1024'
mdev[1026]: 35.069946 waiting for '1024'
mdev[1027]: 35.070151 waiting for '1024'
mdev[1024]: rule matched, line -1
mdev[1024]: mknod vcs9 (7,9) 20660 0:0
mdev[1024]: 35.070346 exiting
mdev[1025]: woken up
mdev[1026]: woken up
mdev[1025]: 35.071213 ACTION:add SUBSYSTEM:vc DEVNAME:vcsa9 DEVPATH:/devices/virtual/vc/vcsa9
            ^^^^^^^^^ took only a millisecond to start running after prev mdev exited
mdev[1025]: dev 7,137
mdev[1027]: woken up
mdev[1025]: rule matched, line -1
mdev[1025]: mknod vcsa9 (7,137) 20660 0:0
mdev[1025]: 35.072109 exiting

function                                             old     new   delta
mdev_main                                            849    1372    +523
curtime                                                -      59     +59
dirAction                                             87     134     +47
static.ts                                              -       8      +8
keywords                                              19      12      -7
make_device                                         2189    2119     -70

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 10:51:41 +01:00
..
bootfloppy *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
udhcp udhcpc: tweak math shell style with the metric var 2013-02-27 01:05:34 -05:00
var_service fix typo in README 2010-12-08 06:08:47 +01:00
android-build tweak comments in android build files 2011-09-09 18:07:38 +02:00
busybox.spec Fixes to usage text; updated busybox.spec 2009-10-02 11:37:17 +02:00
depmod *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
depmod.pl depmod.pl: output correct dep format according to kernel version 2011-09-09 18:58:08 +02:00
devfsd.conf nameif: extended matching (Nico Erfurth <masta@perlgolf.de>) 2007-12-24 14:09:19 +00:00
dnsd.conf new applet. Thanks Roberto A. Foglietta 2006-01-25 14:19:11 +00:00
inetd.conf Add an example inetd.conf file 2004-04-07 10:34:16 +00:00
inittab *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
linux-2.6.30_proc_self_exe.patch Added kernel patch for /proc/self/exe to examples 2009-07-02 12:04:50 +02:00
mdev_fat.conf mdev: improve $SEQ handling; improve debug logging 2013-02-27 10:51:41 +01:00
mdev.conf mdev: when found, print major,minor into mdev.log 2012-05-18 11:39:57 +02:00
mk2knr.pl Major rework of the directory structure and the entire build system. 2001-10-24 05:00:29 +00:00
undeb chmod 755 some files in examples/* 2009-07-23 21:30:30 +02:00
unrpm chmod 755 some files in examples/* 2009-07-23 21:30:30 +02:00
zcip.script zcip.script: fix $ip environment variable 2011-08-09 04:41:00 +02:00