Re: [PATCH 4/6] Have zonelist contains structs with both a zone pointer and zone_idx

David Rientjes
2007-10-17T03:23:28Z

On Fri, 28 Sep 2007, Mel Gorman wrote:

>
> Filtering zonelists requires very frequent use of zone_idx(). This is costly
> as it involves a lookup of another structure and a substraction operation. As
> the zone_idx is often required, it should be quickly accessible. The node
> idx could also be stored here if it was found that accessing zone->node is
> significant which may be the case on workloads where nodemasks are heavily
> used.
>
> This patch introduces a struct zoneref to store a zone pointer and a zone
> index. The zonelist then consists of an array of this struct zonerefs which
> are looked up as necessary. Helpers are given for accessing the zone index
> as well as the node index.
>
> [kamezawa.hiroyu@jp.fujitsu.com: Suggested struct zoneref instead of embedding information in pointers]
> Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> Acked-by: Christoph Lameter <clameter@sgi.com>

OOM locking looks good, thanks.

Acked-by: David Rientjes <rientjes@google.com>