Re: userspace pagecache management tool

From: Andrew Morton
Date: Sat Mar 03 2007 - 17:37:43 EST


On Sat, 03 Mar 2007 17:25:30 -0500 Rik van Riel <riel@xxxxxxxxxx> wrote:

> Andrew Morton wrote:
>
> > Well, backup programs are a unique case. Let's say instead that the user
> > has just generated a 600MB ISO image.
> >
> > The kernel *just doesn't know* whether the user will next try to read the
> > kernel tree or will next try to read that ISO image.
> >
> > That, Rik, is my point, and is the entire point of this work.
>
> I still don't understand why "the backup program flushed my data out
> of the cache with POSIX_FADV_DONTNEED" is an improvement over "the
> backup program flushed my data out of the cache by reading other files".

Oh. Well, yes, if the user elected to instruct the backup program to
invalidate both its input files and its output files and if it's a full
dump, you end up with nothing in pagecache. Possibly a more sensible
setting would be to invalidate only the output.

But having some batch program come in from the side and perform a bulk read
of your present working set isn't very common.

> Your code may be useful for a few specialized situations,

That's quite wrong. It is useful for a great number of well-known problem
scenarios, all of which are *already "specialized situations". It's *you*
who is chasing down the 1% scenarios and portraying them as general problems.
Backups only happen once in 24 hours, for example.

> but I don't
> see it actually fixing most of the examples you gave in your
> announcement, except for the DVD copying one.
>

I don't know how much benefit it will provide for the updatedb problem - I
expect it'll help sometimes. otoh maybe it'll worsen the existing slab internal
fragmentation problem, dunno.

But the other scenarios it solves completely and optimally.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/