diff options
| author | Steve French <sfrench@us.ibm.com> | 2006-03-20 11:58:09 -0500 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2006-03-20 11:58:09 -0500 |
| commit | fd4a0b92db6a57cba8d03efbe1cebf91f9124ce0 (patch) | |
| tree | 5886a08bfa1132058b06074f4666a36dc5ddd2a1 /mm/page_alloc.c | |
| parent | 88274815f7477dc7550439413ab87c5ce4c5a623 (diff) | |
| parent | 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 (diff) | |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'mm/page_alloc.c')
| -rw-r--r-- | mm/page_alloc.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 791690d7d3fa..234bd4895d14 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
| @@ -590,21 +590,20 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, | |||
| 590 | } | 590 | } |
| 591 | 591 | ||
| 592 | #ifdef CONFIG_NUMA | 592 | #ifdef CONFIG_NUMA |
| 593 | /* Called from the slab reaper to drain remote pagesets */ | 593 | /* |
| 594 | void drain_remote_pages(void) | 594 | * Called from the slab reaper to drain pagesets on a particular node that |
| 595 | * belong to the currently executing processor. | ||
| 596 | */ | ||
| 597 | void drain_node_pages(int nodeid) | ||
| 595 | { | 598 | { |
| 596 | struct zone *zone; | 599 | int i, z; |
| 597 | int i; | ||
| 598 | unsigned long flags; | 600 | unsigned long flags; |
| 599 | 601 | ||
| 600 | local_irq_save(flags); | 602 | local_irq_save(flags); |
| 601 | for_each_zone(zone) { | 603 | for (z = 0; z < MAX_NR_ZONES; z++) { |
| 604 | struct zone *zone = NODE_DATA(nodeid)->node_zones + z; | ||
| 602 | struct per_cpu_pageset *pset; | 605 | struct per_cpu_pageset *pset; |
| 603 | 606 | ||
| 604 | /* Do not drain local pagesets */ | ||
| 605 | if (zone->zone_pgdat->node_id == numa_node_id()) | ||
| 606 | continue; | ||
| 607 | |||
| 608 | pset = zone_pcp(zone, smp_processor_id()); | 607 | pset = zone_pcp(zone, smp_processor_id()); |
| 609 | for (i = 0; i < ARRAY_SIZE(pset->pcp); i++) { | 608 | for (i = 0; i < ARRAY_SIZE(pset->pcp); i++) { |
| 610 | struct per_cpu_pages *pcp; | 609 | struct per_cpu_pages *pcp; |
