2002-08-22 19:12:08

by Matthew Dobson

[permalink] [raw]
Subject: [patch] SImple Topology API v0.3 (1/2)

diff -Nur linux-2.5.27-vanilla/arch/i386/config.in linux-2.5.27-api/arch/i386/config.in
--- linux-2.5.27-vanilla/arch/i386/config.in Sat Jul 20 12:11:12 2002
+++ linux-2.5.27-api/arch/i386/config.in Wed Jul 24 17:33:41 2002
@@ -166,7 +166,15 @@
define_bool CONFIG_X86_IO_APIC y
fi
else
- bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
+ bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
+ if [ "$CONFIG_X86_NUMA" = "y" ]; then
+ #Platform Choices
+ bool 'Multiquad (IBM/Sequent) NUMAQ support' CONFIG_X86_NUMAQ
+ if [ "$CONFIG_X86_NUMAQ" = "y" ]; then
+ define_bool CONFIG_MULTIQUAD y
+ define_bool CONFIG_X86_TSC_DISABLE y
+ fi
+ fi
fi

bool 'Machine Check Exception' CONFIG_X86_MCE
diff -Nur linux-2.5.27-vanilla/arch/i386/kernel/smpboot.c linux-2.5.27-api/arch/i386/kernel/smpboot.c
--- linux-2.5.27-vanilla/arch/i386/kernel/smpboot.c Sat Jul 20 12:11:18 2002
+++ linux-2.5.27-api/arch/i386/kernel/smpboot.c Wed Jul 24 17:33:41 2002
@@ -60,6 +60,9 @@
/* Bitmask of currently online CPUs */
unsigned long cpu_online_map;

+/* Bitmask of currently online memory blocks */
+unsigned long memblk_online_map;
+
static volatile unsigned long cpu_callin_map;
volatile unsigned long cpu_callout_map;
static unsigned long smp_commenced_mask;
diff -Nur linux-2.5.27-vanilla/include/asm-i386/mmzone.h linux-2.5.27-api/include/asm-i386/mmzone.h
--- linux-2.5.27-vanilla/include/asm-i386/mmzone.h Wed Dec 31 16:00:00 1969
+++ linux-2.5.27-api/include/asm-i386/mmzone.h Wed Jul 24 17:33:41 2002
@@ -0,0 +1,53 @@
+/*
+ * linux/include/asm-i386/mmzone.h
+ *
+ * Written by: Matthew Dobson, IBM Corporation
+ *
+ * Copyright (C) 2002, IBM Corp.
+ *
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
+ * NON INFRINGEMENT. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Send feedback to <[email protected]>
+ */
+#ifndef _ASM_MMZONE_H_
+#define _ASM_MMZONE_H_
+
+#ifdef CONFIG_X86_NUMAQ
+
+#define NR_MEMBLKS 32 /* Max number of Memory Blocks */
+
+#include <asm/numaq.h>
+
+#else /* !CONFIG_X86_NUMAQ */
+
+#define NR_MEMBLKS 1
+
+/* Other architectures wishing to use this simple topology API should fill
+ in the below functions as appropriate in their own <arch>.h file. */
+#define _cpu_to_node(cpu) (0)
+#define _memblk_to_node(memblk) (0)
+#define _node_to_node(nid) (0)
+#define _node_to_cpu(node) (0)
+#define _node_to_memblk(node) (0)
+
+#endif /* CONFIG_X86_NUMAQ */
+
+/* Returns the number of the current Node. */
+#define numa_node_id() (_cpu_to_node(smp_processor_id()))
+
+#endif /* _ASM_MMZONE_H_ */
diff -Nur linux-2.5.27-vanilla/include/asm-i386/numaq.h linux-2.5.27-api/include/asm-i386/numaq.h
--- linux-2.5.27-vanilla/include/asm-i386/numaq.h Wed Dec 31 16:00:00 1969
+++ linux-2.5.27-api/include/asm-i386/numaq.h Wed Jul 24 17:33:41 2002
@@ -0,0 +1,60 @@
+/*
+ * linux/include/asm-i386/numaq.h
+ *
+ * Written by: Matthew Dobson, IBM Corporation
+ *
+ * Copyright (C) 2002, IBM Corp.
+ *
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
+ * NON INFRINGEMENT. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Send feedback to <[email protected]>
+ */
+#ifndef _I386_NUMAQ_H
+#define _I386_NUMAQ_H
+
+#ifdef CONFIG_X86_NUMAQ
+
+#include <asm/smpboot.h>
+
+/* Returns the number of the node containing CPU 'cpu' */
+#define _cpu_to_node(cpu) (cpu_to_logical_apicid(cpu) >> 4)
+
+/* Returns the number of the node containing MemBlk 'memblk' */
+#define _memblk_to_node(memblk) (memblk)
+
+/* Returns the number of the node containing Node 'nid'. This architecture is flat,
+ so it is a pretty simple function! */
+#define _node_to_node(nid) (nid)
+
+/* Returns the number of the first CPU on Node 'node' */
+static inline int _node_to_cpu(int node)
+{
+ int i, cpu, logical_apicid = node << 4;
+
+ for(i = 1; i < 16; i <<= 1)
+ if ((cpu = logical_apicid_to_cpu(logical_apicid | i)) >= 0)
+ return cpu;
+
+ return 0;
+}
+
+/* Returns the number of the first MemBlk on Node 'node' */
+#define _node_to_memblk(node) (node)
+
+#endif /* CONFIG_X86_NUMAQ */
+#endif /* _I386_NUMAQ_H */
diff -Nur linux-2.5.27-vanilla/include/asm-i386/smp.h linux-2.5.27-api/include/asm-i386/smp.h
--- linux-2.5.27-vanilla/include/asm-i386/smp.h Sat Jul 20 12:11:06 2002
+++ linux-2.5.27-api/include/asm-i386/smp.h Wed Jul 24 17:33:41 2002
@@ -55,6 +55,7 @@
extern void smp_alloc_memory(void);
extern unsigned long phys_cpu_present_map;
extern unsigned long cpu_online_map;
+extern unsigned long memblk_online_map;
extern volatile unsigned long smp_invalidate_needed;
extern int pic_mode;
extern int smp_num_siblings;
@@ -95,6 +96,11 @@
return hweight32(cpu_online_map);
}

+extern inline unsigned int num_online_memblks(void)
+{
+ return hweight32(memblk_online_map);
+}
+
extern inline int any_online_cpu(unsigned int mask)
{
if (mask & cpu_online_map)
diff -Nur linux-2.5.27-vanilla/include/linux/mmzone.h linux-2.5.27-api/include/linux/mmzone.h
--- linux-2.5.27-vanilla/include/linux/mmzone.h Sat Jul 20 12:11:05 2002
+++ linux-2.5.27-api/include/linux/mmzone.h Wed Jul 24 17:33:41 2002
@@ -220,15 +20,15 @@
#define NODE_MEM_MAP(nid) mem_map
#define MAX_NR_NODES 1

-#else /* !CONFIG_DISCONTIGMEM */
-
-#include <asm/mmzone.h>
+#else /* CONFIG_DISCONTIGMEM */

/* page->zone is currently 8 bits ... */
#define MAX_NR_NODES (255 / MAX_NR_ZONES)

#endif /* !CONFIG_DISCONTIGMEM */

+#include <asm/mmzone.h>
+
#define MAP_ALIGN(x) ((((x) % sizeof(struct page)) == 0) ? (x) : ((x) + \
sizeof(struct page) - ((x) % sizeof(struct page))))

diff -Nur linux-2.5.27-vanilla/include/linux/smp.h linux-2.5.27-api/include/linux/smp.h
--- linux-2.5.27-vanilla/include/linux/smp.h Sat Jul 20 12:11:22 2002
+++ linux-2.5.27-api/include/linux/smp.h Wed Jul 24 17:33:41 2002
@@ -93,6 +93,7 @@
#define smp_call_function(func,info,retry,wait) ({ 0; })
static inline void smp_send_reschedule(int cpu) { }
static inline void smp_send_reschedule_all(void) { }
+#define memblk_online_map 1
#define cpu_online_map 1
#define cpu_online(cpu) ({ cpu; 1; })
#define num_online_cpus() 1


Attachments:
simple_topo-v0.3-in_kernel-2.5.31.patch (7.24 kB)

2002-08-22 19:18:40

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [Lse-tech] [patch] SImple Topology API v0.3 (1/2)

On Thu, Aug 22, 2002 at 12:13:23PM -0700, Matthew Dobson wrote:
> --- linux-2.5.27-vanilla/include/linux/mmzone.h Sat Jul 20 12:11:05 2002
> +++ linux-2.5.27-api/include/linux/mmzone.h Wed Jul 24 17:33:41 2002
> @@ -220,15 +20,15 @@
> #define NODE_MEM_MAP(nid) mem_map
> #define MAX_NR_NODES 1
>
> -#else /* !CONFIG_DISCONTIGMEM */
> -
> -#include <asm/mmzone.h>
> +#else /* CONFIG_DISCONTIGMEM */
>
> /* page->zone is currently 8 bits ... */
> #define MAX_NR_NODES (255 / MAX_NR_ZONES)
>
> #endif /* !CONFIG_DISCONTIGMEM */
>
> +#include <asm/mmzone.h>
> +

What is the exact purpose of this change?

2002-08-27 21:05:06

by Pavel Machek

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

Hi!

> Andrew, Linus, et al:
> Here's the latest version of the Simple Topology API. I've broken the patches
> into a solely in-kernel portion, and a portion that exposes the API to
> userspace via syscalls and prctl. This patch (part 1) is the in-kernel part.
> I hope that the smaller versions of these patches will draw more feedback,
> comments, flames, etc. Other than that, the patch remains relatively unchanged
> from the last posting.

> - bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
> + bool 'Multi-node NUMA system support' CONFIG_X86_NUMA

Why not simply CONFIG_NUMA?
Pavel

> + if [ "" = "y" ]; then
> + #Platform Choices
> + bool 'Multiquad (IBM/Sequent) NUMAQ support' CONFIG_X86_NUMAQ
> + if [ "" = "y" ]; then
> + define_bool CONFIG_MULTIQUAD y
> + define_bool CONFIG_X86_TSC_DISABLE y
> + fi
> + fi
> fi
>
> bool 'Machine Check Exception' CONFIG_X86_MCE
> diff -Nur linux-2.5.27-vanilla/arch/i386/kernel/smpboot.c linux-2.5.27-api/arch/i386/kernel/smpboot.c
> --- linux-2.5.27-vanilla/arch/i386/kernel/smpboot.c Sat Jul 20 12:11:18 2002
> +++ linux-2.5.27-api/arch/i386/kernel/smpboot.c Wed Jul 24 17:33:41 2002
> @@ -60,6 +60,9 @@
> /* Bitmask of currently online CPUs */
> unsigned long cpu_online_map;
>
> +/* Bitmask of currently online memory blocks */
> +unsigned long memblk_online_map;
> +
> static volatile unsigned long cpu_callin_map;
> volatile unsigned long cpu_callout_map;
> static unsigned long smp_commenced_mask;
> diff -Nur linux-2.5.27-vanilla/include/asm-i386/mmzone.h linux-2.5.27-api/include/asm-i386/mmzone.h
> --- linux-2.5.27-vanilla/include/asm-i386/mmzone.h Wed Dec 31 16:00:00 1969
> +++ linux-2.5.27-api/include/asm-i386/mmzone.h Wed Jul 24 17:33:41 2002
> @@ -0,0 +1,53 @@
> +/*
> + * linux/include/asm-i386/mmzone.h
> + *
> + * Written by: Matthew Dobson, IBM Corporation
> + *
> + * Copyright (C) 2002, IBM Corp.
> + *
> + * All rights reserved.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
> + * NON INFRINGEMENT. See the GNU General Public License for more
> + * details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> + *
> + * Send feedback to <[email protected]>
> + */
> +#ifndef _ASM_MMZONE_H_
> +#define _ASM_MMZONE_H_
> +
> +#ifdef CONFIG_X86_NUMAQ
> +
> +#define NR_MEMBLKS 32 /* Max number of Memory Blocks */
> +
> +#include <asm/numaq.h>
> +
> +#else /* !CONFIG_X86_NUMAQ */
> +
> +#define NR_MEMBLKS 1
> +
> +/* Other architectures wishing to use this simple topology API should fill
> + in the below functions as appropriate in their own <arch>.h file. */
> +#define _cpu_to_node(cpu) (0)
> +#define _memblk_to_node(memblk) (0)
> +#define _node_to_node(nid) (0)
> +#define _node_to_cpu(node) (0)
> +#define _node_to_memblk(node) (0)
> +
> +#endif /* CONFIG_X86_NUMAQ */
> +
> +/* Returns the number of the current Node. */
> +#define numa_node_id() (_cpu_to_node(smp_processor_id()))
> +
> +#endif /* _ASM_MMZONE_H_ */
> diff -Nur linux-2.5.27-vanilla/include/asm-i386/numaq.h linux-2.5.27-api/include/asm-i386/numaq.h
> --- linux-2.5.27-vanilla/include/asm-i386/numaq.h Wed Dec 31 16:00:00 1969
> +++ linux-2.5.27-api/include/asm-i386/numaq.h Wed Jul 24 17:33:41 2002
> @@ -0,0 +1,60 @@
> +/*
> + * linux/include/asm-i386/numaq.h
> + *
> + * Written by: Matthew Dobson, IBM Corporation
> + *
> + * Copyright (C) 2002, IBM Corp.
> + *
> + * All rights reserved.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
> + * NON INFRINGEMENT. See the GNU General Public License for more
> + * details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> + *
> + * Send feedback to <[email protected]>
> + */
> +#ifndef _I386_NUMAQ_H
> +#define _I386_NUMAQ_H
> +
> +#ifdef CONFIG_X86_NUMAQ
> +
> +#include <asm/smpboot.h>
> +
> +/* Returns the number of the node containing CPU 'cpu' */
> +#define _cpu_to_node(cpu) (cpu_to_logical_apicid(cpu) >> 4)
> +
> +/* Returns the number of the node containing MemBlk 'memblk' */
> +#define _memblk_to_node(memblk) (memblk)
> +
> +/* Returns the number of the node containing Node 'nid'. This architecture is flat,
> + so it is a pretty simple function! */
> +#define _node_to_node(nid) (nid)
> +
> +/* Returns the number of the first CPU on Node 'node' */
> +static inline int _node_to_cpu(int node)
> +{
> + int i, cpu, logical_apicid = node << 4;
> +
> + for(i = 1; i < 16; i <<= 1)
> + if ((cpu = logical_apicid_to_cpu(logical_apicid | i)) >= 0)
> + return cpu;
> +
> + return 0;
> +}
> +
> +/* Returns the number of the first MemBlk on Node 'node' */
> +#define _node_to_memblk(node) (node)
> +
> +#endif /* CONFIG_X86_NUMAQ */
> +#endif /* _I386_NUMAQ_H */
> diff -Nur linux-2.5.27-vanilla/include/asm-i386/smp.h linux-2.5.27-api/include/asm-i386/smp.h
> --- linux-2.5.27-vanilla/include/asm-i386/smp.h Sat Jul 20 12:11:06 2002
> +++ linux-2.5.27-api/include/asm-i386/smp.h Wed Jul 24 17:33:41 2002
> @@ -55,6 +55,7 @@
> extern void smp_alloc_memory(void);
> extern unsigned long phys_cpu_present_map;
> extern unsigned long cpu_online_map;
> +extern unsigned long memblk_online_map;
> extern volatile unsigned long smp_invalidate_needed;
> extern int pic_mode;
> extern int smp_num_siblings;
> @@ -95,6 +96,11 @@
> return hweight32(cpu_online_map);
> }
>
> +extern inline unsigned int num_online_memblks(void)
> +{
> + return hweight32(memblk_online_map);
> +}
> +
> extern inline int any_online_cpu(unsigned int mask)
> {
> if (mask & cpu_online_map)
> diff -Nur linux-2.5.27-vanilla/include/linux/mmzone.h linux-2.5.27-api/include/linux/mmzone.h
> --- linux-2.5.27-vanilla/include/linux/mmzone.h Sat Jul 20 12:11:05 2002
> +++ linux-2.5.27-api/include/linux/mmzone.h Wed Jul 24 17:33:41 2002
> @@ -220,15 +20,15 @@
> #define NODE_MEM_MAP(nid) mem_map
> #define MAX_NR_NODES 1
>
> -#else /* !CONFIG_DISCONTIGMEM */
> -
> -#include <asm/mmzone.h>
> +#else /* CONFIG_DISCONTIGMEM */
>
> /* page->zone is currently 8 bits ... */
> #define MAX_NR_NODES (255 / MAX_NR_ZONES)
>
> #endif /* !CONFIG_DISCONTIGMEM */
>
> +#include <asm/mmzone.h>
> +
> #define MAP_ALIGN(x) ((((x) % sizeof(struct page)) == 0) ? (x) : ((x) + > sizeof(struct page) - ((x) % sizeof(struct page))))
>
> diff -Nur linux-2.5.27-vanilla/include/linux/smp.h linux-2.5.27-api/include/linux/smp.h
> --- linux-2.5.27-vanilla/include/linux/smp.h Sat Jul 20 12:11:22 2002
> +++ linux-2.5.27-api/include/linux/smp.h Wed Jul 24 17:33:41 2002
> @@ -93,6 +93,7 @@
> #define smp_call_function(func,info,retry,wait) ({ 0; })
> static inline void smp_send_reschedule(int cpu) { }
> static inline void smp_send_reschedule_all(void) { }
> +#define memblk_online_map 1
> #define cpu_online_map 1
> #define cpu_online(cpu) ({ cpu; 1; })
> #define num_online_cpus() 1


--
Philips Velo 1: 1"x4"x8", 300gram, 60, 12MB, 40bogomips, linux, mutt,
details at http://atrey.karlin.mff.cuni.cz/~pavel/velo/index.html.

2002-08-27 21:14:48

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

On Tue, Aug 27, 2002 at 02:31:16PM +0000, Pavel Machek wrote:
> Hi!
>
> > Andrew, Linus, et al:
> > Here's the latest version of the Simple Topology API. I've broken the patches
> > into a solely in-kernel portion, and a portion that exposes the API to
> > userspace via syscalls and prctl. This patch (part 1) is the in-kernel part.
> > I hope that the smaller versions of these patches will draw more feedback,
> > comments, flames, etc. Other than that, the patch remains relatively unchanged
> > from the last posting.
>
> > - bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
> > + bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
>
> Why not simply CONFIG_NUMA?

that is just used by the common code, it fits well for that usage and it
has different semantics.

Andrea

2002-08-28 13:10:30

by Thunder from the hill

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

Hi,

On Tue, 27 Aug 2002, Pavel Machek wrote:
> > - bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
> > + bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
>
> Why not simply CONFIG_NUMA?

Because NUMA is subordinate to X86, and another technology named NUMA
might appear? Nano-uplinked micro-array... No Ugliness Munched Archive?
Whatever...

Thunder
--
--./../...-/. -.--/---/..-/.-./..././.-../..-. .---/..-/.../- .-
--/../-./..-/-/./--..-- ../.----./.-../.-.. --./../...-/. -.--/---/..-
.- -/---/--/---/.-./.-./---/.--/.-.-.-
--./.-/-.../.-./.././.-../.-.-.-

2002-08-28 13:38:54

by Remco Post

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On woensdag, augustus 28, 2002, at 03:14 , Thunder from the hill wrote:

> Hi,
>
> On Tue, 27 Aug 2002, Pavel Machek wrote:
>>> - bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
>>> + bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
>>
>> Why not simply CONFIG_NUMA?
>
> Because NUMA is subordinate to X86, and another technology named NUMA
> might appear? Nano-uplinked micro-array... No Ugliness Munched Archive?
> Whatever...

Until we port Linux to SGI Origin 200/2000/3000 NUMA clusters....

And AFAIK there are more hw suppliers working on designing NUMA systems.
All more
or less the same, and again all very different.

- ---
Met vriendelijke groeten,

Remco Post

SARA - Stichting Academisch Rekencentrum Amsterdam http://www.sara.nl
High Performance Computing Tel. +31 20 592 8008 Fax. +31 20 668 3167
PGP keys at http://home.sara.nl/~remco/keys.asc

"I really didn't foresee the Internet. But then, neither did the computer
industry. Not that that tells us very much of course - the computer
industry
didn't even foresee that the century was going to end." -- Douglas Adams


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (Darwin)

iD8DBQE9bNNxBIoCv9yTlOwRAtxNAJ42ZsWw5mcYsgJySLoLxdarIFsGHQCgmfoH
dw0bN9YSjpeX9HhfC3RO9g8=
=J8cK
-----END PGP SIGNATURE-----

2002-08-28 13:45:12

by Thunder from the hill

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

Hi,

On Wed, 28 Aug 2002, Remco Post wrote:
> Until we port Linux to SGI Origin 200/2000/3000 NUMA clusters....
>
> And AFAIK there are more hw suppliers working on designing NUMA systems.
> All more
> or less the same, and again all very different.

Not a problem. Then goes CONFIG_SGI_NUMA, CONFIG_SPARC64_NUMA, etc...

Thunder
--
--./../...-/. -.--/---/..-/.-./..././.-../..-. .---/..-/.../- .-
--/../-./..-/-/./--..-- ../.----./.-../.-.. --./../...-/. -.--/---/..-
.- -/---/--/---/.-./.-./---/.--/.-.-.-
--./.-/-.../.-./.././.-../.-.-.-

2002-08-28 14:05:01

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

On Wed, Aug 28, 2002 at 03:43:02PM +0200, Remco Post wrote:
> Until we port Linux to SGI Origin 200/2000/3000 NUMA clusters....

Linux does run on the Origin 200/2000..

2002-08-28 19:24:56

by Pavel Machek

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

Hi!

> > > - bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
> > > + bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
> >
> > Why not simply CONFIG_NUMA?
>
> Because NUMA is subordinate to X86, and another technology named NUMA
> might appear? Nano-uplinked micro-array... No Ugliness Munched Archive?
> Whatever...

NUMA means non-uniform memory access. At least IBM, AMD and SGI do
NUMA; and I guess anyone with 100+ nodes *has* numa machine. (BUt as
andrea already explained, CONFIG_NUMA is already taken for generic
NUMA support.)

Pavel

--
Casualities in World Trade Center: ~3k dead inside the building,
cryptography in U.S.A. and free speech in Czech Republic.

2002-08-28 19:58:24

by Thunder from the hill

[permalink] [raw]
Subject: Re: [patch] SImple Topology API v0.3 (1/2)

Hi,

On Wed, 28 Aug 2002, Pavel Machek wrote:
> > Because NUMA is subordinate to X86, and another technology named NUMA
> > might appear? Nano-uplinked micro-array... No Ugliness Munched Archive?
> > Whatever...
>
> NUMA means non-uniform memory access. At least IBM, AMD and SGI do
> NUMA; and I guess anyone with 100+ nodes *has* numa machine. (BUt as
> andrea already explained, CONFIG_NUMA is already taken for generic
> NUMA support.)

I'm aware of that. You didn't get my point, though. I was just suggesting
that there might be other things called NUMA, so CONFIG_X86_NUMA may be
just right.

Thunder
--
--./../...-/. -.--/---/..-/.-./..././.-../..-. .---/..-/.../- .-
--/../-./..-/-/./--..-- ../.----./.-../.-.. --./../...-/. -.--/---/..-
.- -/---/--/---/.-./.-./---/.--/.-.-.-
--./.-/-.../.-./.././.-../.-.-.-

2002-08-28 22:31:56

by Timothy D. Witham

[permalink] [raw]
Subject: Re: [Lse-tech] Re: [patch] SImple Topology API v0.3 (1/2)

How about the old Marketing name CONFIG_CCNUMA?



Tim

On Wed, 2002-08-28 at 12:29, Pavel Machek wrote:
> Hi!
>
> > > > - bool 'Multiquad NUMA system' CONFIG_MULTIQUAD
> > > > + bool 'Multi-node NUMA system support' CONFIG_X86_NUMA
> > >
> > > Why not simply CONFIG_NUMA?
> >
> > Because NUMA is subordinate to X86, and another technology named NUMA
> > might appear? Nano-uplinked micro-array... No Ugliness Munched Archive?
> > Whatever...
>
> NUMA means non-uniform memory access. At least IBM, AMD and SGI do
> NUMA; and I guess anyone with 100+ nodes *has* numa machine. (BUt as
> andrea already explained, CONFIG_NUMA is already taken for generic
> NUMA support.)
>
> Pavel
>
> --
> Casualities in World Trade Center: ~3k dead inside the building,
> cryptography in U.S.A. and free speech in Czech Republic.
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: Jabber - The world's fastest growing
> real-time communications platform! Don't just IM. Build it in!
> http://www.jabber.com/osdn/xim
> _______________________________________________
> Lse-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/lse-tech
--
Timothy D. Witham - Lab Director - [email protected]
Open Source Development Lab Inc - A non-profit corporation
15275 SW Koll Parkway - Suite H - Beaverton OR, 97006
(503)-626-2455 x11 (office) (503)-702-2871 (cell)
(503)-626-2436 (fax)

2002-08-28 22:36:57

by Thunder from the hill

[permalink] [raw]
Subject: Re: [Lse-tech] Re: [patch] SImple Topology API v0.3 (1/2)

Hi,

On 28 Aug 2002, Timothy D. Witham wrote:
> How about the old Marketing name CONFIG_CCNUMA?

Why not keep CONFIG_X86_NUMA then?

Thunder
--
--./../...-/. -.--/---/..-/.-./..././.-../..-. .---/..-/.../- .-
--/../-./..-/-/./--..-- ../.----./.-../.-.. --./../...-/. -.--/---/..-
.- -/---/--/---/.-./.-./---/.--/.-.-.-
--./.-/-.../.-./.././.-../.-.-.-

2002-08-28 22:42:01

by Timothy D. Witham

[permalink] [raw]
Subject: Re: [Lse-tech] Re: [patch] SImple Topology API v0.3 (1/2)

I don't think that it really matters the only thing
that I was thinking of is that you might have
a case in the future where you would like to break out
some of the stuff into say ... PPC or SPARC NUMA and also
X86 NUMA but still keep the Cache Coherent NUMA configuration
as a base. But that is just wild talk from somebody
who knows wild talk. :-)

Tim

On Wed, 2002-08-28 at 15:40, Thunder from the hill wrote:
> Hi,
>
> On 28 Aug 2002, Timothy D. Witham wrote:
> > How about the old Marketing name CONFIG_CCNUMA?
>
> Why not keep CONFIG_X86_NUMA then?
>
> Thunder
> --
> --./../...-/. -.--/---/..-/.-./..././.-../..-. .---/..-/.../- .-
> --/../-./..-/-/./--..-- ../.----./.-../.-.. --./../...-/. -.--/---/..-
> .- -/---/--/---/.-./.-./---/.--/.-.-.-
> --./.-/-.../.-./.././.-../.-.-.-
--
Timothy D. Witham - Lab Director - [email protected]
Open Source Development Lab Inc - A non-profit corporation
15275 SW Koll Parkway - Suite H - Beaverton OR, 97006
(503)-626-2455 x11 (office) (503)-702-2871 (cell)
(503)-626-2436 (fax)