use asm-generic/topology.h
PATCH 1/1 use asm-generic/topology.h
Linus,
use_generic_topology.patch
This patch changes ppc64 & alpha to use the generic topology.h for the non-NUMA case rather than redefining the same macros. It is much easier to maintain one set of generic non-NUMA macros than several.
[mcd@arrakis patches]$ diffstat use_generic_topo-2.5.44.patch
asm-alpha/topology.h | 19 +++++++------------ asm-ppc64/topology.h | 8 ++------ 2 files changed, 9 insertions(+), 18 deletions(-)
Cheers!
-Matt
include/asm-alpha/topology.h +7 -12
@@ -1,20 +1,15 @@#ifndef _ASM_ALPHA_TOPOLOGY_H#define _ASM_ALPHA_TOPOLOGY_H -#ifdef CONFIG_NUMA -#ifdef CONFIG_ALPHA_WILDFIRE +#if defined(CONFIG_NUMA ) && defined(CONFIG_ALPHA_WILDFIRE ) +/* With wildfire assume 4 CPUs per node */ #define __cpu_to_node (cpu) ((cpu) >> 2) -#endif /* CONFIG_ALPHA_WILDFIRE */ -#endif /* CONFIG_NUMA */ -#if !defined(CONFIG_NUMA ) || !defined(CONFIG_ALPHA_WILDFIRE ) -#define __cpu_to_node (cpu) (0) -#define __memblk_to_node (memblk) (0) -#define __parent_node (nid) (0) -#define __node_to_first_cpu (node) (0) -#define __node_to_cpu_mask (node) (cpu_online_map) -#define __node_to_memblk (node) (0) -#endif /* !CONFIG_NUMA || !CONFIG_ALPHA_WILDFIRE */ +#else /* !CONFIG_NUMA || !CONFIG_ALPHA_WILDFIRE */ + +#include <asm-generic/topology.h> + +#endif /* CONFIG_NUMA && CONFIG_ALPHA_WILDFIRE */ #endif /* _ASM_ALPHA_TOPOLOGY_H */
include/asm-ppc64/topology.h +2 -6
@@ -48,12 +48,8 @@#else /* !CONFIG_NUMA */ -#define __cpu_to_node (cpu) (0) -#define __memblk_to_node (memblk) (0) -#define __parent_node (nid) (0) -#define __node_to_first_cpu (node) (0) -#define __node_to_cpu_mask (node) (cpu_online_map) -#define __node_to_memblk (node) (0) +/* If non-NUMA, grab the generic macros */ +#include <asm-generic/topology.h> #endif /* CONFIG_NUMA */
Hi Matt,
Quoted 5 lines
use_generic_topology.patch
This patch changes ppc64 & alpha to use the generic
topology.hfor the non-NUMA case rather than redefining the same macros. It is much easier to maintain one set of generic non-NUMA macros than several.
Looks good from the ppc64 perspective.
Anton
Quoted 11 lines · Anton Blanchard
Hi Matt,
Quoted 3 lines
use_generic_topology.patch
This patch changes ppc64 & alpha to use the generic
topology.hfor the non-NUMA case rather than redefining the same macros. It is much easier to maintain one set of generic non-NUMA macros than several.Looks good from the ppc64 perspective.
Anton
Glad to have the positive feedback. It doesn't really change how anything works, just eliminates duplicate code and makes modifying the generic behavior simpler.
Anyone that works with alpha want to verify that I haven't inadvertently hosed your topology file?
Cheers!
-Matt
Quoted 13 lines · Matthew Dobson
Quoted 12 lines · Anton Blanchard
Hi Matt,
Quoted 5 lines
use_generic_topology.patch
This patch changes ppc64 & alpha to use the generic
topology.hfor the non-NUMA case rather than redefining the same macros. It is much easier to maintain one set of generic non-NUMA macros than several.Looks good from the ppc64 perspective.
Quoted 9 lines
Quoted 1 line
Anton
Glad to have the positive feedback. It doesn't really change how anything works, just eliminates duplicate code and makes modifying the generic behavior simpler.
Anyone that works with alpha want to verify that I haven't inadvertently hosed your topology file?
I'd say six of one, half-dozen of the other. I've been working with another engineer on updated patches that among other things make NUMA work on Alpha again. We're also re-working much of the surrounding code, including much of this file anyway - Marvel uses a much different topology than Wildfire.
It looks fine to me, but realistically the only opinion I can give for real is a shoulder shrug, as I'm not exactly sure when the code will be ready for submission. Actually, the patch looks just like a part of the patch we have working, just without Marvel support. Then again, I suppose IBM would have a hard time doing that, huh? ;)
- Pete
Quoted 8 lines · Peter Rival
<snip>
I'd say six of one, half-dozen of the other. I've been working with another engineer on updated patches that among other things make NUMA work on Alpha again. We're also re-working much of the surrounding code, including much of this file anyway - Marvel uses a much different topology than Wildfire.
Quoted 5 lines
It looks fine to me, but realistically the only opinion I can give for real is a shoulder shrug, as I'm not exactly sure when the code will be ready for submission. Actually, the patch looks just like a part of the patch we have working, just without Marvel support. Then again, I suppose IBM would have a hard time doing that, huh? ;)
I'll take that as a thumbs-up. "A wink's as good as a nudge to a blind bat! eh? EH?"
Please apply, Linus.
Oh yeah... If you want to send me free hardware to play with, we can see what happens on the Marvel support front... ;) ;)
Cheers!
-Matt