mirror of
https://github.com/systemd/systemd.git
synced 2024-11-05 23:51:28 +03:00
f503f6b22f
Directory lookups show up in profiling. The queue files are responsible for a large proportion of file-related system calls in udev coldplug. Instead of creating a file for each event, append their details to a log file. The file is periodically rebuilt (garbage-collected) to prevent it from growing indefinitely. This single queue file replaces both the queue directory and the uevent_seqnum file. On desktop systems the file tends not to grow beyond one page. So it should also save a small amount of memory in tmpfs. Tests on a running EeePC indicate average savings of 5% *udevd* cpu time as measured by oprofile. __link_path_walk is reduced from 1.5% to 1.3%. It is not completely clear where the rest of the gains come from. In tests running ~400 events, the queue file is rebuilt about 5 times. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> |
||
---|---|---|
.. | ||
.gitignore | ||
exported_symbols | ||
libudev-ctrl.c | ||
libudev-device-db-write.c | ||
libudev-device.c | ||
libudev-enumerate.c | ||
libudev-list.c | ||
libudev-monitor.c | ||
libudev-private.h | ||
libudev-queue-export.c | ||
libudev-queue.c | ||
libudev-util.c | ||
libudev.c | ||
libudev.h | ||
libudev.pc.in | ||
Makefile.am | ||
test-libudev.c |