summaryrefslogtreecommitdiff
path: root/udev/Makefile.am
diff options
context:
space:
mode:
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>2009-05-21 22:22:37 +0200
committerKay Sievers <kay.sievers@vrfy.org>2009-05-21 22:22:37 +0200
commitf503f6b22fa54d1a65156a51d8b3311190c73ae5 (patch)
tree5003144371ce463fe5ba2387b9777cd8cddd24ad /udev/Makefile.am
parentf9b3f88f71f5bdfb18aa4bfba00d72fa41fdf286 (diff)
udevd: implement a more efficient queue file format
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>
Diffstat (limited to 'udev/Makefile.am')
-rw-r--r--udev/Makefile.am1
1 files changed, 1 insertions, 0 deletions
diff --git a/udev/Makefile.am b/udev/Makefile.am
index fa8279dd61..6cd2f23dc3 100644
--- a/udev/Makefile.am
+++ b/udev/Makefile.am
@@ -30,6 +30,7 @@ common_files = \
lib/libudev-monitor.c \
lib/libudev-enumerate.c \
lib/libudev-queue.c \
+ lib/libudev-queue-export.c \
lib/libudev-ctrl.c
if USE_SELINUX