Re: [PATCH] Periodically drain non local pagesets

From: Christoph Lameter
Date: Wed Jun 01 2005 - 14:11:18 EST


On Wed, 1 Jun 2005, Dave Hansen wrote:

> Also, are you sure that you need the local_irq_en/disable()?

drain_pages() does the same. We would run into trouble if an
interrupt would use the page allocator.

Fix for the zone comparison:

Index: linux-2.6.12-rc5/mm/page_alloc.c
===================================================================
--- linux-2.6.12-rc5.orig/mm/page_alloc.c 2005-06-01 10:41:25.000000000 -0700
+++ linux-2.6.12-rc5/mm/page_alloc.c 2005-06-01 11:57:55.000000000 -0700
@@ -528,7 +528,7 @@ void drain_remote_pages(void)
struct per_cpu_pageset *pset;

/* Do not drain local pagesets */
- if (zone == zone_table[numa_node_id()])
+ if (zone->zone_pgdat->node_id == numa_node_id())
continue;

pset = zone->pageset[smp_processor_id()];
-
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/