On Wed, Mar 27, 2013 at 10:50 AM, Kok, Auke-jan H <auke-jan.h....@intel.com> wrote: > On Wed, Mar 27, 2013 at 4:55 AM, Kay Sievers <k...@vrfy.org> wrote: >> On Sun, Mar 24, 2013 at 3:38 AM, Kok, Auke-jan H >> <auke-jan.h....@intel.com> wrote: >> >>>>> I don't see anything in udev code setting IOPRIO... perhaps elevating >>>>> the few calls doing bklid and mount might be helpful? >>>> >>>> Maybe that really makes a difference, we should definitely try that. >>>> The blkid calls are really limited to a few bytes here and there, and >>>> will never loop for a long time, so that should be fine. >>>> >>>> Do you have a box, where you could you give it a quick try to bump the >>>> prio for the libblkid calls: >>>> ioprio_set(IOPRIO_WHO_PROCESS, getpid(), ...) >>>> in: >>>> src/udev/udev-builtin-blkid.c >>>> ? >>> >>> I left my non-ssd dev box in the office, so it'll be monday - but I'll >>> absolutely give it a good test run. >> >> Could you still give that a simple try with current git and the >> chunking in place, so that we have some idea if the blkid calls would >> benefit from a higher priority? >> >> Even if we decide against doing that in the end, it would be nice to know ... > > I'm pretty sure it'll make a big dent, and I started looking at it already...
So, I just spent an hour or so playing around with some stuff, and here are my thoughts: First off, it seems making the blkid parts run at RT,0 prio (highest possible) does absolutely nothing, which suggests that Lennart was right that almost all parts are already cached. However, while looking at the bootcharts I'm noticing `fsck` and `systemd-fsck` is taking considerable time to complete: before: - all fsck's done around 5.5sec total (measured after kernel done booting) - systemd-fsck's take ~ 2.4 secs - fsck children run for 2.2-2.8 seconds I then added RT,0 prio to systemd-fsck just before it forks it's children: after: - all fsck's done around 3.5secs total - systemd-fsck's take ~0.8 secs - fsck children run for 0.4-0.7 secs All in all that's a big gain, and it immediately exposes that `lvm` also is crazy slow (this is a vanilla fc18 install). So, I'd be interested in making this the default. Maybe not RT,0 which is a bit of a whammer, but certainly BE,0 or even RT,5 or something like that. Auke _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel