linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
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>

  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