Re: node_online_map patch kills x86_64

From: Chris Wright
Date: Wed Jan 12 2005 - 14:28:44 EST


* Matthew Dobson (colpatch@xxxxxxxxxx) wrote:
> On Tue, 2005-01-11 at 16:35, Chris Wright wrote:
> > Thanks wli. Seems Andi understands the issue despite my unintelligible
> > bug report ;-)
> >
> > thanks,
> > -chris
>
> So I assume you were trying to saying that backing out the patches makes
> the machine boot, and leaving them in kills it, right?

Yes, exactly. Not sure which part of my brain was misfiring when I
wrote that gibberish ;-)

> And does Andi's
> "[PATCH] x86_64: Optimize nodemask operations slightly" fix your
> problem? I'm assuming that's what the reference to "Andi understanding
> the issue" meant? Or is there still a problem booting x86_64 with the
> numnodes -> node_online_map patches?

The patch from Andi that I tested which fixed the issue for me was:

Index: linux/arch/x86_64/mm/srat.c
===================================================================
--- linux.orig/arch/x86_64/mm/srat.c 2005-01-09 18:19:17.%N +0100
+++ linux/arch/x86_64/mm/srat.c 2005-01-12 02:43:54.%N +0100
@@ -29,8 +29,8 @@
if (pxm2node[pxm] == 0xff) {
if (num_online_nodes() >= MAX_NUMNODES)
return -1;
- pxm2node[pxm] = num_online_nodes();
- node_set_online(num_online_nodes());
+ pxm2node[pxm] = num_online_nodes() - 1;
+ node_set_online(pxm2node[pxm]);
}
return pxm2node[pxm];
}


This looks like just a straight fix for the following from your patch (AFAICT):

- pxm2node[pxm] = numnodes - 1;
- numnodes++;
+ pxm2node[pxm] = num_online_nodes();
+ node_set_online(num_online_nodes());

However, what's in bk is a bit different and it too is working well:

http://linux.bkbits.net:8080/linux-2.6/gnupatch@41e543d4Ujgg-Hk9pyWGiXvs7oXkBw

Hope that clarifies. Thanks.
-chris
--
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
-
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/