Re: [PATCH 00/25] Cleanup and optimise the page allocator V5

From: Mel Gorman
Date: Fri Mar 20 2009 - 12:27:29 EST


On Fri, Mar 20, 2009 at 12:07:22PM -0400, Christoph Lameter wrote:
> On Fri, 20 Mar 2009, Mel Gorman wrote:
>
> > good idea one way or the other. Course, this meant a search of the PCP
> > lists or increasing the size of the PCP structure - swings and
> > roundabouts :/
>
> The PCP list structure irks me a bit. Manipulating doubly linked lists
> means touching at least 3 cachelines.

Yeah, and bloats the structure quite a bit. It's what hits the
one-list-per-migratetype the hardest.

> Is it possible to go to a simple
> linked list (one cacheline to be touched)?

I considered it but it breaks the hot/cold allocation/freeing logic and
the search code became weird enough looking fast enough that I dropped
it.

> Or an array of pointers to
> pages instead (one cacheline may contian multiple pointers to pcp pages
> which means multiple pages could be handled with a single cacheline)?
>

An array of pointers is promising but it would bloat the structure quiet a
bit too.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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/