mirror of
https://git.busybox.net/busybox
synced 2026-01-31 16:43:21 +00:00
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>
|
||
|---|---|---|
| .. | ||
| volume_id | ||
| acpid.c | ||
| blkid.c | ||
| blockdev.c | ||
| Config.src | ||
| dmesg.c | ||
| fbset.c | ||
| fdformat.c | ||
| fdisk.c | ||
| fdisk_aix.c | ||
| fdisk_gpt.c | ||
| fdisk_osf.c | ||
| fdisk_sgi.c | ||
| fdisk_sun.c | ||
| findfs.c | ||
| flock.c | ||
| freeramdisk.c | ||
| fsck_minix.c | ||
| getopt.c | ||
| hexdump.c | ||
| hwclock.c | ||
| ipcrm.c | ||
| ipcs.c | ||
| Kbuild.src | ||
| losetup.c | ||
| lspci.c | ||
| lsusb.c | ||
| mdev.c | ||
| minix.h | ||
| mkfs_ext2.c | ||
| mkfs_ext2.txt | ||
| mkfs_ext2_test.sh | ||
| mkfs_minix.c | ||
| mkfs_reiser.c | ||
| mkfs_vfat.c | ||
| mkswap.c | ||
| more.c | ||
| mount.c | ||
| pivot_root.c | ||
| rdate.c | ||
| rdev.c | ||
| readprofile.c | ||
| rev.c | ||
| rtcwake.c | ||
| script.c | ||
| scriptreplay.c | ||
| setarch.c | ||
| swaponoff.c | ||
| switch_root.c | ||
| umount.c | ||