linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Olaf Hering <olaf@aepfle.de>
To: Mel Gorman <mel@csn.ul.ie>
Cc: lee.schermerhorn@hp.com, Linux MM <linux-mm@kvack.org>,
	linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	hanth Aravamudan <nacc@us.ibm.com>,
	akpm@linux-foundation.org,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Christoph Lameter <clameter@sgi.com>
Subject: Re: crash in kmem_cache_init
Date: Wed, 23 Jan 2008 13:52:36 +0100	[thread overview]
Message-ID: <20080123125236.GA18876@aepfle.de> (raw)
In-Reply-To: <20080123121459.GA18631@aepfle.de>

On Wed, Jan 23, Olaf Hering wrote:

> On Wed, Jan 23, Mel Gorman wrote:
> 
> > Sorry this is dragging out. Can you post the full dmesg with loglevel=8 of the
> > following patch against 2.6.24-rc8 please? It contains the debug information
> > that helped me figure out what was going wrong on the PPC64 machine here,
> > the revert and the !l3 checks (i.e. the two patches that made machines I
> > have access to work). Thanks
> 
> It boots with your change.

This version of the patch boots ok for me:
Maybe I made a mistake with earlier patches, no idea.

---
 mm/slab.c |   17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1590,7 +1590,7 @@ void __init kmem_cache_init(void)
 		/* Replace the static kmem_list3 structures for the boot cpu */
 		init_list(&cache_cache, &initkmem_list3[CACHE_CACHE], node);
 
-		for_each_node_state(nid, N_NORMAL_MEMORY) {
+		for_each_online_node(nid) {
 			init_list(malloc_sizes[INDEX_AC].cs_cachep,
 				  &initkmem_list3[SIZE_AC + nid], nid);
 
@@ -1968,7 +1968,7 @@ static void __init set_up_list3s(struct 
 {
 	int node;
 
-	for_each_node_state(node, N_NORMAL_MEMORY) {
+	for_each_online_node(node) {
 		cachep->nodelists[node] = &initkmem_list3[index + node];
 		cachep->nodelists[node]->next_reap = jiffies +
 		    REAPTIMEOUT_LIST3 +
@@ -2099,7 +2099,7 @@ static int __init_refok setup_cpu_cache(
 			g_cpucache_up = PARTIAL_L3;
 		} else {
 			int node;
-			for_each_node_state(node, N_NORMAL_MEMORY) {
+			for_each_online_node(node) {
 				cachep->nodelists[node] =
 				    kmalloc_node(sizeof(struct kmem_list3),
 						GFP_KERNEL, node);
@@ -2775,6 +2775,11 @@ static int cache_grow(struct kmem_cache 
 	/* Take the l3 list lock to change the colour_next on this node */
 	check_irq_off();
 	l3 = cachep->nodelists[nodeid];
+	if (!l3) {
+		nodeid = numa_node_id();
+		l3 = cachep->nodelists[nodeid];
+	}
+	BUG_ON(!l3);
 	spin_lock(&l3->list_lock);
 
 	/* Get colour for the slab, and cal the next value. */
@@ -3317,6 +3322,10 @@ static void *____cache_alloc_node(struct
 	int x;
 
 	l3 = cachep->nodelists[nodeid];
+	if (!l3) {
+		nodeid = numa_node_id();
+		l3 = cachep->nodelists[nodeid];
+	}
 	BUG_ON(!l3);
 
 retry:
@@ -3815,7 +3824,7 @@ static int alloc_kmemlist(struct kmem_ca
 	struct array_cache *new_shared;
 	struct array_cache **new_alien = NULL;
 
-	for_each_node_state(node, N_NORMAL_MEMORY) {
+	for_each_online_node(node) {
 
                 if (use_alien_caches) {
                         new_alien = alloc_alien_cache(node, cachep->limit);

  reply	other threads:[~2008-01-23 12:52 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-15 15:09 crash in kmem_cache_init Olaf Hering
2008-01-15 15:58 ` Olaf Hering
2008-01-17 12:14 ` Pekka Enberg
2008-01-17 14:30   ` Christoph Lameter
2008-01-17 18:12     ` Olaf Hering
2008-01-17 18:58       ` Christoph Lameter
2008-01-17 19:54         ` Olaf Hering
2008-01-17 20:20           ` Olaf Hering
2008-01-19  4:56             ` Christoph Lameter
2008-01-17 21:15         ` Olaf Hering
2008-01-18  6:56           ` Olaf Hering
2008-01-18 18:42             ` Christoph Lameter
2008-01-19  4:55             ` Christoph Lameter
2008-01-18 18:47           ` Christoph Lameter
2008-01-18 21:30             ` Mel Gorman
2008-01-18 21:43               ` Christoph Lameter
2008-01-18 22:16               ` Christoph Lameter
2008-01-18 22:19                 ` Nish Aravamudan
2008-01-18 22:38                 ` Christoph Lameter
2008-01-18 22:57                 ` Olaf Hering
2008-01-22 19:54                   ` Mel Gorman
2008-01-22 20:11                     ` Christoph Lameter
2008-01-22 21:26                       ` Mel Gorman
2008-01-22 21:34                         ` Christoph Lameter
2008-01-22 22:50                           ` Mel Gorman
2008-01-22 22:57                             ` Christoph Lameter
2008-01-22 23:10                               ` Mel Gorman
2008-01-22 23:14                                 ` Christoph Lameter
2008-01-22 22:59                             ` Pekka Enberg
2008-01-22 23:12                               ` Christoph Lameter
2008-01-22 23:18                                 ` Christoph Lameter
2008-01-23  8:19                                   ` Pekka Enberg
2008-01-23  8:40                                     ` Olaf Hering
2008-01-22 21:45                     ` Olaf Hering
2008-01-22 22:12                       ` Nish Aravamudan
2008-01-22 22:23                       ` Christoph Lameter
2008-01-23  7:58                         ` Olaf Hering
2008-01-23 10:50                           ` Mel Gorman
2008-01-23 12:14                             ` Olaf Hering
2008-01-23 12:52                               ` Olaf Hering [this message]
2008-01-23 13:55                                 ` [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node Mel Gorman
2008-01-23 14:18                                   ` Pekka J Enberg
2008-01-23 14:32                                     ` Pekka J Enberg
2008-01-23 14:49                                       ` Pekka J Enberg
2008-01-23 15:56                                         ` Mel Gorman
2008-01-23 17:29                                           ` Pekka J Enberg
2008-01-23 17:42                                             ` Pekka J Enberg
2008-01-23 18:51                                             ` Christoph Lameter
2008-01-23 19:52                                             ` Nishanth Aravamudan
2008-01-23 21:02                                               ` Pekka Enberg
2008-01-23 21:14                                                 ` Christoph Lameter
2008-01-23 21:36                                                   ` Nishanth Aravamudan
2008-01-24  3:13                                                     ` Christoph Lameter
2008-01-23 18:36                                         ` Christoph Lameter
2008-01-23 18:35                                     ` Christoph Lameter
2008-01-23 14:27                                   ` Olaf Hering
2008-01-23 14:42                                     ` Mel Gorman
2008-01-23 18:41                                   ` Christoph Lameter
2008-01-23 13:41                               ` crash in kmem_cache_init Mel Gorman
2008-01-18 18:51           ` Christoph Lameter
2008-01-17 19:03       ` Christoph Lameter

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=20080123125236.GA18876@aepfle.de \
    --to=olaf@aepfle.de \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=clameter@sgi.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=lee.schermerhorn@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mel@csn.ul.ie \
    --cc=nacc@us.ibm.com \
    --cc=penberg@cs.helsinki.fi \
    /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;
as well as URLs for NNTP newsgroup(s).