[systemd-devel] [PATCH] readahead: read /usr files last for rotational media, skip /var

Lennart Poettering lennart at poettering.net
Mon Oct 10 17:11:38 PDT 2011


On Mon, 03.10.11 13:06, Stephan Kulow (coolo at suse.de) wrote:

> 
> Am Freitag, 30. September 2011, 16:52:01 schrieb Tom Gundersen:
> > On Fri, Sep 30, 2011 at 4:26 PM, Paolo Bonzini <bonzini at gnu.org> wrote:
> > > On 09/30/2011 03:39 PM, Kay Sievers wrote:
> > >> Sure. I just think that this is not what we really want in the end.
> > > 
> > > That I agree with, but good is the enemy of perfect...
> > 
> > How about this:
> > 
> > Rather than making the split between / and /usr, make it between
> > Before and After basic.target (as basic.target is roughly what
> > traditionally would require files to be on /). This would require us
> > to associate files to be readahead with services, but based on what
> > you wrote in a previous message that should be easy enough.
> > 
> That's what we achieved with SUSE's preload - through systemtap
> we got all relevant syscalls to later determine a process tree and
> IO done by what service. This way we could later readahead only
> the files of a given service before starting it.
> 
> It made a huge difference, but it was also pretty complex and fragile.

I think binding this information to a specific service is quite
unnecessary. A lower level view of just considering access order and
location on disk should be fully sufficient and can optimize what
actually matters for disk perfomance, simply because the disk cares in
no way at all for the high-level idea of a service. It juzst cares about
the location and access time of data blocks on disk.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list