[systemd-devel] Readahead collect - root filesystem only?

Pacho Ramos pacho at gentoo.org
Thu Jan 15 05:48:58 PST 2015


El jue, 15-01-2015 a las 14:38 +0100, Reindl Harald escribió:
> Am 15.01.2015 um 14:33 schrieb Zbigniew Jędrzejewski-Szmek:
> > On Thu, Jan 15, 2015 at 02:31:22PM +0100, Reindl Harald wrote:
> >> Am 15.01.2015 um 14:40 schrieb Nikolai Zhubr:
> >>> 15.01.2015 16:07, Cristian Rodríguez:
> >>>> The readahead collector is no longer included in systemd.
> >>>
> >>> Hm. It is still there in not-very-old opensuse 13.2 ...
> >>> Anyway. Where has it gone then? Is it a separate tool now or got
> >>> obsoleted by something else?
> >>> I actually just started to like it... Quite a usefull thing...
> >>
> >> it was completly removed with no replacement by assuming eveorybody
> >> in a short term will use only SSD drives
> >>
> >> http://lists.freedesktop.org/archives/systemd-devel/2014-August/022002.html
> >
> > That's not the complete story. The other is that there were issues
> > with it, and nobody was working on them
> 
> that's all fine
> 
> but why the heck was there a need to include it in systemd, replace the 
> all the years existing readahead daemon from Fedora and then abandon and 
> remove it finally?
> 
> that's one reason why so many people are annoyed be systemd take over 
> more and more components far away from an init-daemon and if 
> systemd-upstream later decides that part is no longer interesting and 
> nobody has a need to use it like readahead what happens then?
> 
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel

I have been able to compile, install and run only the readahead part
from systemd-216 with newer systemd as I would still
want to run it (I don't have any SSD device and I still notice its
action when booting + login in my Gnome session... also I neither plan
to renew my main laptop or try to change its harddisk).

The problem is that I don't know how could I
make the systemd-readahead-done part to work as systemd-notify dropped
the readahead support:
http://cgit.freedesktop.org/systemd/systemd/diff/src/notify/notify.c?id=d6bc8348d5be8576a475ac8ced2b0146e60fb71f

Anyway, I got surprised by /.readahead looking to not grow more a bit
after booting (without "done" it should supposedly grow forever). One
workaround could be to call systemd-readahead-collect with the --timeout
option and hardcode there a value (a bit like e4rat behaves) but I am
not sure if something better could be done :/

>From the old manpage I can see this info about "-done":
       systemd-readahead-done.service is executed a short while after
boot completed and signals systemd-readahead-collect.service to end data
       collection. On this signal, this service will then sort the
collected disk accesses and store information about them in /.readahead.

Reading the -collect .service file, looks like manually creating
a /run/systemd/readahead/done file should stop the service but I would
appreciate if anyone with more knowledge could confirm :|

The full drop commit is:
http://cgit.freedesktop.org/systemd/systemd/commit/?id=d6bc8348d5be8576a475ac8ced2b0146e60fb71f

And looking to the readahead-collect.c part:
http://cgit.freedesktop.org/systemd/systemd/diff/src/readahead/readahead-collect.c?id=d6bc8348d5be8576a475ac8ced2b0146e60fb71f

Seems that playing with /run/systemd/readahead/{cancel,done,noreplay}
files should be enough, then, maybe I could create a shell wrapper to
mimic "systemd-notify --readahead" and use that to create the desired
files under /run/systemd/readahead.

Thanks a lot for your help



More information about the systemd-devel mailing list