Re: [PATCH 10/19] Calculate the preferred zone for allocation only once

Christoph Lameter
2009-02-24T17:40:31Z

On Tue, 24 Feb 2009, Mel Gorman wrote:

> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 6f26944..074f9a6 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1399,24 +1399,19 @@ static void zlc_mark_zone_full(struct zonelist *zonelist, struct zoneref *z)
> */
> static struct page *
> get_page_from_freelist(gfp_t gfp_mask, nodemask_t *nodemask, unsigned int order,
> - struct zonelist *zonelist, int high_zoneidx, int alloc_flags)
> + struct zonelist *zonelist, int high_zoneidx, int alloc_flags,
> + struct zone *preferred_zone)
> {

This gets into a quite a number of parameters now. Pass a structure like in
vmscan.c? Or simplify things to be able to run get_page_from_freelist with
less parameters? The number of parameters seem to be too high for a
fastpath function.