Re: [PATCH/RFC] Shared page tables

Benjamin LaHaise
2006-01-23T20:19:50Z

On Mon, Jan 23, 2006 at 11:39:07AM -0600, Dave McCracken wrote:
> The pmd level is important for ppc because it works in segments, which are
> 256M in size and consist of a full pmd page. The current implementation of
> the way ppc loads its tlb doesn't allow sharing at smaller than segment
> size. I currently also enable pmd sharing for x86_64, but I'm not sure how
> much of a win it is. I use it to share pmd pages for hugetlb, as well.

For EM64T at least, pmd sharing is definately worthwhile. pud sharing is
a bit more out there, but would still help database workloads. In the case
of a thousand connections (which is not unreasonable for some users) you
save 4MB of memory and reduce the cache footprint of those saved 4MB of
pages to 4KB. Ideally the code can be structured to compile out to nothing
if not needed.

Of course, once we have shared page tables it makes great sense to try to
get userland to align code segments and data segments to seperate puds so
that we could share all the page tables for common system libraries amongst
processes...

-ben
--
"Ladies and gentlemen, I'm sorry to interrupt, but the police are here
and they've asked us to stop the party." Don't Email: <dont@kvack.org>.