Re: [PATCH 1/2] Make page->private usable in compound pages V1

From: Christoph Lameter
Date: Fri Apr 06 2007 - 16:28:31 EST


On Fri, 6 Apr 2007, Andrew Morton wrote:

> > Both SLAB and SLUB use compound pages.
>
> Not really. slab sets the page->lru.prev of each constituent page to point
> at the controlling slab.

Uhh.. More slab inconsistencies. page[1]->lru is used for compound
pages in the !MMU case.

>From page_alloc.c:

/*
* Higher-order pages are called "compound pages". They are structured
thusly:
*
* The first tail page's ->lru.next holds the address of the compound
page's
* put_page() function. Its ->lru.prev holds the order of allocation.
* This usage means that zero-order pages may not be compound.
*/

> Will slub handle NOMMU anonymous pages appropriately?

I am not sure how anonymous pages relate to the slab allocators.

SLUB consistently uses compound pages for all higher order allocations.
And those are usually fine for mmu and no mmu even without this
series of patches unless someone pokes around page->private.
-
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/