Re: [PATCH] Convert pgtable cache to slab

From: Robin Holt <>
Date: 2005-02-12 05:35:19
On Thu, Feb 10, 2005 at 12:38:06PM -0800, Luck, Tony wrote:
> Can pgtable_cache_init() be "__init"?

I have that changed in my work area now.

> Do you have some before/after numbers from lmbench fork overhead
> (I wouldn't expect much impact from this, but it would be nice to
> make sure).

I am running lmbench even as we speak.  Is there a way to run lmbench
and only get the fork overhead information?

I started with this patch because it goes part of the way to where I
need to be.  I am trying to get 4 level page table directories working
efficiently on SGI boxes.  I see this as three problems.

1) This patch to join quicklists together and simplify the cleanup
   of the list to cases where memory is really needed (slabs does this
2) Ensure the slabs are made node aware.  We have seen significant
   impact when the page tables are allocated off node.
3) Implement the pud_alloc pud_free stuff so 4-level directories

After looking at some of the performance numbers, I am beginning to
think #1 and #2 need to be done as one.  I assumed there would be no
significant impact from using the zeroed slab versus the quicklists and
that appears to be true.  I have not considered all the ramifications
like the default sizes of the slab, etc.  There does not appear to be
much performance difference on lmbench between the two.  For a page-fault
test, the fault rate with the zeroed slab appears to be slightly lower,
but that is as I would expect due to the added overhead of the slab.

Right now, neither the quicklists nor slabs are node local.  I think
that is a larger issue.  I will start a seperate discussion about node
locality soon.

To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Fri Feb 11 13:36:24 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:35 EST