[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1176265121.8061.66.camel@localhost.localdomain>
Date: Wed, 11 Apr 2007 14:18:41 +1000
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Christoph Lameter <clameter@....com>
Cc: akpm@...ux-foundation.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, ak@...e.de,
Paul Mackerras <paulus@...ba.org>
Subject: Re: [QUICKLIST 1/4] Quicklists for page table pages V5
On Tue, 2007-04-10 at 21:04 -0700, Christoph Lameter wrote:
> On Tue, 10 Apr 2007, Benjamin Herrenschmidt wrote:
>
> > On Mon, 2007-04-09 at 11:25 -0700, Christoph Lameter wrote:
> >
> > > Quicklists for page table pages V5
> >
> > Looks interesting, but unfortunately not very useful at this point for
> > powerpc unless you remove the assumption that quicklists contain
> > pages...
>
> Then quicklists wont be as simple anymore.
>
> > On powerpc, we currently use kmem cache slabs (though that isn't
> > terribly node friendly) whose sizes depend on the page size.
> >
> > For a 4K page size kernel, we have 4 level page tables and use 2 caches,
> > PTE and PGD pages are 4K (thus are PAGE_SIZE'd), and PMD & PUD are 1K.
>
> PTE and PGD could be run via quicklists? With PTEs you cover the most
> common case. Quicklists using PGDs will allow to optimize using
> preconstructed pages.
>
> Its probably best to keep the slabs for the 1K pages.
>
> > For a 64K page size kernel, we have 3 level page tables and we use 3
> > caches: a PGD pages are 128 bytes (yeah, not big heh...), our pmd
> > pages are 32K (half a page) and PTE pages are PAGE_SIZE (64K).
>
> Ok so use quicklists for the PTEs and slab for the rest? A PGD of only 128
> bytes? Stuff one at the end of the mm_struct or the task struct? That way
> you can avoid allocation overhead.
Yeah, maybe... I need to think about it a bit more. I might be able to
make the PMD a full page too.
Ben.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists