use asm-generic/topology.h

use asm-generic/topology.h

Post by Matthew Dobso » Fri, 01 Nov 2002 00:10:12



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.


  asm-alpha/topology.h |   19 +++++++------------
  asm-ppc64/topology.h |    8 ++------
  2 files changed, 9 insertions(+), 18 deletions(-)

Cheers!

-Matt

[ use_generic_topo-2.5.44.patch 1K ]
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.44-vanilla/include/asm-alpha/topology.h linux-2.5.44-topology_fixup/include/asm-alpha/topology.h
--- linux-2.5.44-vanilla/include/asm-alpha/topology.h   Fri Oct 18 21:01:18 2002

 #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 */
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.44-vanilla/include/asm-ppc64/topology.h linux-2.5.44-topology_fixup/include/asm-ppc64/topology.h
--- linux-2.5.44-vanilla/include/asm-ppc64/topology.h   Fri Oct 18 21:01:52 2002

 #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 */

 
 
 

use asm-generic/topology.h

Post by Anton Blanchar » Fri, 01 Nov 2002 01:40:10


Hi Matt,

Quote:> 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.

Looks good from the ppc64 perspective.

Anton
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

use asm-generic/topology.h

Post by Matthew Dobso » Fri, 01 Nov 2002 01:50:06



> Hi Matt,

>>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.

> 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

use asm-generic/topology.h

Post by Peter Riva » Fri, 01 Nov 2002 03:50:07




> > Hi Matt,

> >>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.

> > 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?

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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

use asm-generic/topology.h

Post by Matthew Dobso » Fri, 01 Nov 2002 04:20:08



 > <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.

> 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. [trivial] include <asm-generic/topology.h>

Linus,
        For a small bit of sanity and a savings of 9 lines of code, we should
be including the generic topology macros in the alpha & ppc64 topology
files, rather than just redefining them.  It is much easier to keep all
the generic topology macros in sync this way, too.

Cheers!

-Matt


  asm-alpha/topology.h |   19 +++++++------------
  asm-ppc64/topology.h |    8 ++------
  2 files changed, 9 insertions(+), 18 deletions(-)

[ use_generic_topo-2.5.50.patch 1K ]
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.50-vanilla/include/asm-alpha/topology.h linux-2.5.50-use_generic/include/asm-alpha/topology.h
--- linux-2.5.50-vanilla/include/asm-alpha/topology.h   Wed Nov 27 14:35:53 2002

 #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 */
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.50-vanilla/include/asm-ppc64/topology.h linux-2.5.50-use_generic/include/asm-ppc64/topology.h
--- linux-2.5.50-vanilla/include/asm-ppc64/topology.h   Wed Nov 27 14:36:22 2002

 #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 */

2. Solaris and Toshiba T2400C laptop

3. Fix asm-alpha/topology.h & asm-ppc64/topology.h

4. Sparc 5 170mhz

5. how is the asm-generic to be used?

6. I have my NCR810 SCSI problem SOLVED!

7. [v850] Use <asm-generic/statsfs.h> on v850

8. Serial GETTY problem

9. planned change to <asm-generic/dma-mapping.h> will cause arch breakage

10. [2.5.41] create asm-generic/fcntl.h

11. Add linux/include/asm-generic to TAGS build

12. include/asm-generic/bitops.h {set,clear}_bit return void

13. asm-generic magic