Re: [QUICKLIST 1/5] Quicklists for page table pages V3

From: Andrew Morton
Date: Mon Mar 19 2007 - 20:55:45 EST


On Mon, 19 Mar 2007 17:44:28 -0700 (PDT)
Christoph Lameter <clameter@xxxxxxx> wrote:

> On Mon, 19 Mar 2007, Andrew Morton wrote:
>
> > Please provide proof that quicklists are superior to simply going direct to
> > the page allocator for these pages.
>
> See the patch. We are only touching 2 cachelines instead of 32. So even
> without considering the page allocator overhead and the slab allocator
> overhead (which will make the situation even better) its superior.

That's not proof, it is handwaving. I could wave right back at you and
claim that the benefit from returning a cache-hot pte page back to the page
allocator for reuse exceeds the benefit which you waved at me above.

You may well be right, but nothing is proven, afaict.

> > > I doubt it. The zeroing is a by product of our way of serializing pte
> > > handling. Its going to be difficult to change that.
> >
> > Nick didn't think so, and I don't see the problem either.
>
> You do not think that our current way of handling ptes is okay? If we do
> not zero the ptes then we need to separate munmap from process shutdown.

Yep. It's possible that process shutdown is a sufficiently common and
costly special-case for it to be worth special-casing.

> > We'll save on some bus traffic by avoiding the writeback, but how much
> > effect that will have we don't know. Presumably little.
>
> The advantage of the quicklists is that it does not require a rework of
> the pte serialization.

No, these are unrelated. We can get pte pages from the page allocator and
zero them without touching the munmap handling.

But it's possible that if we _were_ to optimise the munmap handling as
suggested, the end result would be superior.

-
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/