From: Christoph Lameter <clameter@sgi.com>
To: akpm@linux-foundation.org
Cc: kxr@sgi.com, linux-mm@kvack.org,
Nishanth Aravamudan <nacc@us.ibm.com>,
Lee Schermerhorn <Lee.Schermerhorn@hp.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [patch 11/12] Add N_CPU node state
Date: Wed, 11 Jul 2007 12:04:37 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0707111156460.17503@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20070711182252.376540447@sgi.com>
On Wed, 11 Jul 2007, Christoph Lameter wrote:
> Index: linux-2.6.22-rc6-mm1/mm/migrate.c
> ===================================================================
> --- linux-2.6.22-rc6-mm1.orig/mm/migrate.c 2007-07-11 10:39:28.000000000 -0700
> +++ linux-2.6.22-rc6-mm1/mm/migrate.c 2007-07-11 10:39:38.000000000 -0700
> @@ -963,7 +963,7 @@ asmlinkage long sys_move_pages(pid_t pid
> goto out;
>
> err = -ENODEV;
> - if (!node_memory(node))
> + if (!node_state(node, N_MEMORY))
> goto out;
>
Papers over the last patch and first patch. Patch w/o those two chunks
Add N_CPU node state
We need the check for a node with cpu in zone reclaim. Zone reclaim will not
allow remote zone reclaim if a node has a cpu.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
---
include/linux/nodemask.h | 1 +
mm/page_alloc.c | 4 +++-
mm/vmscan.c | 4 +---
3 files changed, 5 insertions(+), 4 deletions(-)
Index: linux-2.6.22-rc6-mm1/include/linux/nodemask.h
===================================================================
--- linux-2.6.22-rc6-mm1.orig/include/linux/nodemask.h 2007-07-11 12:00:29.000000000 -0700
+++ linux-2.6.22-rc6-mm1/include/linux/nodemask.h 2007-07-11 12:01:10.000000000 -0700
@@ -344,6 +344,7 @@ enum node_states {
N_POSSIBLE, /* The node could become online at some point */
N_ONLINE, /* The node is online */
N_MEMORY, /* The node has memory */
+ N_CPU, /* The node has cpus */
NR_NODE_STATES
};
Index: linux-2.6.22-rc6-mm1/mm/vmscan.c
===================================================================
--- linux-2.6.22-rc6-mm1.orig/mm/vmscan.c 2007-07-11 12:00:45.000000000 -0700
+++ linux-2.6.22-rc6-mm1/mm/vmscan.c 2007-07-11 12:01:10.000000000 -0700
@@ -1851,7 +1851,6 @@ static int __zone_reclaim(struct zone *z
int zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order)
{
- cpumask_t mask;
int node_id;
/*
@@ -1888,8 +1887,7 @@ int zone_reclaim(struct zone *zone, gfp_
* as wide as possible.
*/
node_id = zone_to_nid(zone);
- mask = node_to_cpumask(node_id);
- if (!cpus_empty(mask) && node_id != numa_node_id())
+ if (node_state(node_id, N_CPU) && node_id != numa_node_id())
return 0;
return __zone_reclaim(zone, gfp_mask, order);
}
Index: linux-2.6.22-rc6-mm1/mm/page_alloc.c
===================================================================
--- linux-2.6.22-rc6-mm1.orig/mm/page_alloc.c 2007-07-11 12:00:29.000000000 -0700
+++ linux-2.6.22-rc6-mm1/mm/page_alloc.c 2007-07-11 12:01:10.000000000 -0700
@@ -2728,6 +2728,7 @@ static struct per_cpu_pageset boot_pages
static int __cpuinit process_zones(int cpu)
{
struct zone *zone, *dzone;
+ int node = cpu_to_node(cpu);
for_each_zone(zone) {
@@ -2735,7 +2736,7 @@ static int __cpuinit process_zones(int c
continue;
zone_pcp(zone, cpu) = kmalloc_node(sizeof(struct per_cpu_pageset),
- GFP_KERNEL, cpu_to_node(cpu));
+ GFP_KERNEL, node);
if (!zone_pcp(zone, cpu))
goto bad;
@@ -2746,6 +2747,7 @@ static int __cpuinit process_zones(int c
(zone->present_pages / percpu_pagelist_fraction));
}
+ node_set_state(node, N_CPU);
return 0;
bad:
for_each_zone(dzone) {
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-07-11 19:04 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070711182219.234782227@sgi.com>
[not found] ` <20070711182252.138829364@sgi.com>
2007-07-11 18:46 ` [patch 10/12] Memoryless nodes: Update memory policy and page migration Nishanth Aravamudan
2007-07-11 18:56 ` Christoph Lameter
[not found] ` <20070711182252.376540447@sgi.com>
2007-07-11 19:04 ` Christoph Lameter [this message]
[not found] ` <20070711182250.005856256@sgi.com>
2007-07-11 19:06 ` [patch 01/12] NUMA: Generic management of nodemasks for various purposes Christoph Lameter
2007-07-11 19:32 ` Lee Schermerhorn
2007-07-20 20:49 ` [PATCH] Memoryless nodes: use "node_memory_map" for cpuset mems_allowed validation Lee Schermerhorn
2007-07-20 22:07 ` Nishanth Aravamudan
2007-07-23 19:09 ` Nishanth Aravamudan
2007-07-23 19:23 ` Paul Jackson
2007-07-23 20:08 ` Nishanth Aravamudan
2007-07-23 20:59 ` Lee Schermerhorn
2007-07-23 21:48 ` Nishanth Aravamudan
2007-07-24 14:11 ` Lee Schermerhorn
2007-07-24 16:16 ` Nishanth Aravamudan
2007-07-24 14:15 ` [PATCH take2] " Lee Schermerhorn
2007-07-24 16:19 ` Nishanth Aravamudan
2007-07-24 19:01 ` Lee Schermerhorn
2007-07-25 15:50 ` Nishanth Aravamudan
2007-07-24 20:30 ` [PATCH take3] " Lee Schermerhorn
2007-07-25 15:53 ` Nishanth Aravamudan
2007-07-25 22:00 ` Nishanth Aravamudan
2007-07-26 13:04 ` Lee Schermerhorn
2007-07-27 0:40 ` Nishanth Aravamudan
2007-07-27 14:15 ` Lee Schermerhorn
2007-07-24 20:35 ` [PATCH/RFC] Memoryless nodes: Suppress redundant "node with no memory" messages Lee Schermerhorn
2007-07-25 15:56 ` Nishanth Aravamudan
[not found] ` <20070711182251.433134748@sgi.com>
2007-07-12 0:07 ` [patch 07/12] Memoryless nodes: SLUB support Andrew Morton
2007-07-12 1:42 ` Christoph Lameter
2007-07-12 18:33 ` Nishanth Aravamudan
2007-07-12 18:38 ` Christoph Lameter
2007-07-13 15:14 ` [patch 00/12] NUMA: Memoryless node support V3 Nishanth Aravamudan
2007-07-13 16:43 ` Christoph Lameter
2007-07-13 16:52 ` Nishanth Aravamudan
2007-07-13 17:20 ` Lee Schermerhorn
2007-07-13 17:23 ` Christoph Lameter
2007-07-13 19:22 ` Lee Schermerhorn
2007-07-13 20:53 ` Lee Schermerhorn
2007-07-13 21:34 ` Christoph Lameter
2007-07-13 23:18 ` Nishanth Aravamudan
[not found] ` <1185310277.5649.90.camel@localhost>
[not found] ` <Pine.LNX.4.64.0707241402010.4773@schroedinger.engr.sgi.com>
[not found] ` <1185372692.5604.22.camel@localhost>
2007-07-25 15:45 ` Lee Schermerhorn
2007-07-25 19:16 ` 2.6.23-rc1-mm1: boot hang on ia64 with memoryless nodes Lee Schermerhorn
2007-07-25 19:38 ` Christoph Lameter
2007-07-25 20:03 ` Christoph Lameter
2007-07-25 21:18 ` Lee Schermerhorn
2007-07-26 13:53 ` Lee Schermerhorn
2007-07-26 14:00 ` KAMEZAWA Hiroyuki
2007-07-26 18:10 ` Lee Schermerhorn
2007-07-26 14:33 ` Lee Schermerhorn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0707111156460.17503@schroedinger.engr.sgi.com \
--to=clameter@sgi.com \
--cc=Lee.Schermerhorn@hp.com \
--cc=akpm@linux-foundation.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kxr@sgi.com \
--cc=linux-mm@kvack.org \
--cc=nacc@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox