[systemd-devel] Reduce unit-loading time

cee1 fykcee1 at gmail.com
Sun May 24 20:41:36 PDT 2015


2015-05-20 1:01 GMT+08:00 Martin Pitt <martin.pitt at ubuntu.com>:
> Hey cee1,
>
> cee1 [2015-05-18 23:52 +0800]:
>> At the first glance, I find ureadahead has some difference compared
>> with the readahead once in systemd, IIRC:
>
> Yes, for sure. systemd's was improved quite a bit. ureadahead is
> mostly unmaintained, but it works well enough so we didn't bother to
> put work into it until someone actually complains :-)
>
>> 1. ureadahead.service is in default.target, which means ureadahead
>> starts later than systemd's?
>
> That mostly means that it's not started with e. g. emergency or
> rescue. It still starts early (DefaultDependencies=false).
>
>> 2. The original systemd readahead has "collect" and "replay" two
>> services, and these are done in ureadahead.service?
>
> Yes.
>
>> 3. IIRC, The original systemd readahead uses madvise(); ureadahead
>> uses readahead()
>> 4. The original systemd readahead uses fanotify() to get the list of
>> accessed files; ureadahead use fsnotify
>
> I haven't verified these, but this sounds correct. ureadahead is
> really old, presumably the newer features like fanotify weren't
> available back then.

I tried ureadahead, but got following error:

"""write(2, "ureadahead: Error while tracing:"..., 59ureadahead: Error
while tracing: No such file or directory"""

Needs an out-of-tree kernel patch?



-- 
Regards,

- cee1


More information about the systemd-devel mailing list