Re: 2.6.16-rc1-mm2

From: Serge E. Hallyn
Date: Mon Jan 23 2006 - 14:30:30 EST


Quoting Christoph Lameter (clameter@xxxxxxxxxxxx):
> On Mon, 23 Jan 2006, Serge E. Hallyn wrote:
>
> > I don't understand why this wouldn't die on every architecture,
> > since node_to_cpumask is an inline function.
>
> Its an array lookup on ia64.

Oh I see, sorry, I was looking at only partial lxr ouput.

Is the following patch an ok fix?

thanks
-serge

On alpha, powerpc, and i386, node_to_cpumask is an inline function
rather than a #define to an array lookup.

--
Signed-off-by: Serge Hallyn <serue@xxxxxxxxxx>

Index: linux-2.6.15/mm/vmscan.c
===================================================================
--- linux-2.6.15.orig/mm/vmscan.c 2006-01-23 07:14:48.000000000 -0600
+++ linux-2.6.15/mm/vmscan.c 2006-01-23 07:26:51.000000000 -0600
@@ -1836,13 +1836,15 @@ int zone_reclaim(struct zone *zone, gfp_
struct task_struct *p = current;
struct reclaim_state reclaim_state;
struct scan_control sc;
+ cpumask_t mask;

if (time_before(jiffies,
zone->last_unsuccessful_zone_reclaim + ZONE_RECLAIM_INTERVAL))
return 0;

+ mask = node_to_cpumask(zone->zone_pgdat->node_id);
if (!(gfp_mask & __GFP_WAIT) ||
- (!cpus_empty(node_to_cpumask(zone->zone_pgdat->node_id)) &&
+ (!cpus_empty(mask) &&
zone->zone_pgdat->node_id != numa_node_id()) ||
zone->all_unreclaimable ||
atomic_read(&zone->reclaim_in_progress) > 0)
-
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/