Message ID | 1303267733.11237.42.camel@mulgrave.site (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
> On Wed, 2011-04-20 at 10:23 +0900, KOSAKI Motohiro wrote: > > > On Tue, 19 Apr 2011, James Bottomley wrote: > > > > > > > > Which part of me telling you that you will break lots of other things in > > > > > the core kernel dont you get? > > > > > > > > I get that you tell me this ... however, the systems that, according to > > > > you, should be failing to get to boot prompt do, in fact, manage it. > > > > > > If you dont use certain subsystems then it may work. Also do you run with > > > debuggin on. > > > > > > The following patch is I think what would be needed to fix it. > > > > I'm worry about this patch. A lot of mm code assume !NUMA systems > > only have node 0. Not only SLUB. > > > > I'm not sure why this unfortunate mismatch occur. but I think DISCONTIG > > hacks makes less sense. Can we consider parisc turn NUMA on instead? > > Well, you mean a patch like this? It won't build ... obviously we need > some more machinery > > CC arch/parisc/kernel/asm-offsets.s > In file included from include/linux/sched.h:78, > from arch/parisc/kernel/asm-offsets.c:31: > include/linux/topology.h:212:2: error: #error Please define an appropriate SD_NODE_INIT in include/asm/topology.h!!! > In file included from include/linux/sched.h:78, > from arch/parisc/kernel/asm-offsets.c:31: > include/linux/topology.h: In function 'numa_node_id': > include/linux/topology.h:255: error: implicit declaration of function 'cpu_to_node' Sorry about that. I'll see more carefully the code later. Probably long time discontig-mem uninterest made multiple level breakage. Grr. ;-) -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 20 Apr 2011, KOSAKI Motohiro wrote: > > from arch/parisc/kernel/asm-offsets.c:31: > > include/linux/topology.h: In function 'numa_node_id': > > include/linux/topology.h:255: error: implicit declaration of function 'cpu_to_node' > > Sorry about that. I'll see more carefully the code later. Probably long > time discontig-mem uninterest made multiple level breakage. Grr. ;-) True. Someone needs to go through discontig and make it work right with a !NUMA configuration. Many pieces of the core code assume that there will be no node on a !NUMA config today. I guess that was different in ages past. Maybe we should make DISCONTIG broken under !NUMA until that time? Tejon was working on getting rid of DISCONTIG. SPARSEMEM is the favored alternative today. So we could potentially change the arches to use SPARSE configs in the !NUMA case. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hey, On Wed, Apr 20, 2011 at 08:50:15AM -0500, Christoph Lameter wrote: > Tejon was working on getting rid of DISCONTIG. SPARSEMEM is the favored > alternative today. So we could potentially change the arches to use SPARSE > configs in the !NUMA case. Well, the thing is that sparsemem w/ vmemmap is definitely better than discontigmem on x86-64; however, on x86-32, vmemmap can't be used due to address space shortage and there are some minor disadvantages to sparsemem compared to discontigmem. IIRC, the biggest was losing a bit of granuality in memsections and possibly wasting slightly more memory on the page array. Both didn't seem critical to me but given that the actual amount of code needed for discontigmem in arch code was fairly small (although the amount of added complexity for auditing/testing can be much higher) I didn't feel sure about dropping discontigmem and thus the patchset to drop discontigmem was posted as RFC, to which nobody commented. http://thread.gmane.org/gmane.linux.kernel/1121321 What do you guys think? Thanks.
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 69ff049..ffe4058 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -261,6 +261,9 @@ config HPUX bool "Support for HP-UX binaries" depends on !64BIT +config NUMA + def_bool n + config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 diff --git a/mm/Kconfig b/mm/Kconfig index e9c0c61..17a1474 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -64,6 +64,7 @@ endchoice config DISCONTIGMEM def_bool y depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL + select NUMA config SPARSEMEM def_bool y