From: Mike Travis <travis@sgi.com>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <ak@suse.de>,
mingo@elte.hu, Christoph Lameter <clameter@sgi.com>,
Jack Steiner <steiner@sgi.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 02/10] x86: Change size of node ids from u8 to u16 V3
Date: Wed, 16 Jan 2008 10:10:17 -0800 [thread overview]
Message-ID: <478E4889.5030208@sgi.com> (raw)
In-Reply-To: <20080116185356.e8d02344.dada1@cosmosbay.com>
Eric Dumazet wrote:
> On Wed, 16 Jan 2008 09:09:04 -0800
> travis@sgi.com wrote:
>
>> Change the size of node ids from 8 bits to 16 bits to
>> accomodate more than 256 nodes.
>>
>> Signed-off-by: Mike Travis <travis@sgi.com>
>> Reviewed-by: Christoph Lameter <clameter@sgi.com>
>> ---
>> V1->V2:
>> - changed pxm_to_node_map to u16
>> - changed memnode map entries to u16
>> V2->V3:
>> - changed memnode.embedded_map from [64-16] to [64-8]
>> (and size comment to 128 bytes)
>> ---
>> arch/x86/mm/numa_64.c | 9 ++++++---
>> arch/x86/mm/srat_64.c | 2 +-
>> drivers/acpi/numa.c | 2 +-
>> include/asm-x86/mmzone_64.h | 6 +++---
>> include/asm-x86/numa_64.h | 4 ++--
>> include/asm-x86/topology.h | 2 +-
>> 6 files changed, 14 insertions(+), 11 deletions(-)
>
> I know new typedefs are not welcome, but in this case, it could be nice
> to define a fundamental type node_t (like pte_t, pmd_t, pgd_t, ...).
>
> Clean NUMA code deserves it.
>
> #if MAX_NUMNODES > 256
> typedef u16 node_t;
> #else
> typedef u8 node_t;
> #endif
>
Funny, I had this in originally and someone suggested that it was
superfluous. ;-) But I agree, though I had called it numanode_t.
Even a cpu_t for size of the cpu index could be useful.
I'll wait for other opinions.
> In 2016, we can add u32 for MAX_NUMNODES > 65536
Probably 2010 is closer... ;-)
>
> Another point: you want this change, sorry if my previous mail was not detailed enough :
>
> --- a/arch/x86/mm/numa_64.c
> +++ b/arch/x86/mm/numa_64.c
> @@ -78,7 +78,7 @@ static int __init allocate_cachealigned_memnodemap(void)
> unsigned long pad, pad_addr;
>
> memnodemap = memnode.embedded_map;
> - if (memnodemapsize <= 48)
> + if (memnodemapsize <= ARRAY_SIZE(memnode.embedded_map))
> return 0;
>
> pad = L1_CACHE_BYTES - 1;
>
>
> Thanks
Thanks! This hash lookup is still a bit of a mystery to me.
I'll submit a 'fixup' patch momentarily, also removing:
--- linux.orig/arch/x86/mm/numa_64.c 2008-01-16 08:21:00.000000000 -0800
+++ linux/arch/x86/mm/numa_64.c 2008-01-16 09:57:27.168691249 -0800
@@ -35,8 +35,6 @@ u16 x86_cpu_to_node_map_init[NR_CPUS] __
[0 ... NR_CPUS-1] = NUMA_NO_NODE
};
void *x86_cpu_to_node_map_early_ptr;
-EXPORT_SYMBOL(x86_cpu_to_node_map_init);
-EXPORT_SYMBOL(x86_cpu_to_node_map_early_ptr);
DEFINE_PER_CPU(u16, x86_cpu_to_node_map) = NUMA_NO_NODE;
EXPORT_PER_CPU_SYMBOL(x86_cpu_to_node_map);
... to avoid section mismatches.
Thanks,
Mike
WARNING: multiple messages have this Message-ID (diff)
From: Mike Travis <travis@sgi.com>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <ak@suse.de>,
mingo@elte.hu, Christoph Lameter <clameter@sgi.com>,
Jack Steiner <steiner@sgi.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 02/10] x86: Change size of node ids from u8 to u16 V3
Date: Wed, 16 Jan 2008 10:10:17 -0800 [thread overview]
Message-ID: <478E4889.5030208@sgi.com> (raw)
In-Reply-To: <20080116185356.e8d02344.dada1@cosmosbay.com>
Eric Dumazet wrote:
> On Wed, 16 Jan 2008 09:09:04 -0800
> travis@sgi.com wrote:
>
>> Change the size of node ids from 8 bits to 16 bits to
>> accomodate more than 256 nodes.
>>
>> Signed-off-by: Mike Travis <travis@sgi.com>
>> Reviewed-by: Christoph Lameter <clameter@sgi.com>
>> ---
>> V1->V2:
>> - changed pxm_to_node_map to u16
>> - changed memnode map entries to u16
>> V2->V3:
>> - changed memnode.embedded_map from [64-16] to [64-8]
>> (and size comment to 128 bytes)
>> ---
>> arch/x86/mm/numa_64.c | 9 ++++++---
>> arch/x86/mm/srat_64.c | 2 +-
>> drivers/acpi/numa.c | 2 +-
>> include/asm-x86/mmzone_64.h | 6 +++---
>> include/asm-x86/numa_64.h | 4 ++--
>> include/asm-x86/topology.h | 2 +-
>> 6 files changed, 14 insertions(+), 11 deletions(-)
>
> I know new typedefs are not welcome, but in this case, it could be nice
> to define a fundamental type node_t (like pte_t, pmd_t, pgd_t, ...).
>
> Clean NUMA code deserves it.
>
> #if MAX_NUMNODES > 256
> typedef u16 node_t;
> #else
> typedef u8 node_t;
> #endif
>
Funny, I had this in originally and someone suggested that it was
superfluous. ;-) But I agree, though I had called it numanode_t.
Even a cpu_t for size of the cpu index could be useful.
I'll wait for other opinions.
> In 2016, we can add u32 for MAX_NUMNODES > 65536
Probably 2010 is closer... ;-)
>
> Another point: you want this change, sorry if my previous mail was not detailed enough :
>
> --- a/arch/x86/mm/numa_64.c
> +++ b/arch/x86/mm/numa_64.c
> @@ -78,7 +78,7 @@ static int __init allocate_cachealigned_memnodemap(void)
> unsigned long pad, pad_addr;
>
> memnodemap = memnode.embedded_map;
> - if (memnodemapsize <= 48)
> + if (memnodemapsize <= ARRAY_SIZE(memnode.embedded_map))
> return 0;
>
> pad = L1_CACHE_BYTES - 1;
>
>
> Thanks
Thanks! This hash lookup is still a bit of a mystery to me.
I'll submit a 'fixup' patch momentarily, also removing:
--- linux.orig/arch/x86/mm/numa_64.c 2008-01-16 08:21:00.000000000 -0800
+++ linux/arch/x86/mm/numa_64.c 2008-01-16 09:57:27.168691249 -0800
@@ -35,8 +35,6 @@ u16 x86_cpu_to_node_map_init[NR_CPUS] __
[0 ... NR_CPUS-1] = NUMA_NO_NODE
};
void *x86_cpu_to_node_map_early_ptr;
-EXPORT_SYMBOL(x86_cpu_to_node_map_init);
-EXPORT_SYMBOL(x86_cpu_to_node_map_early_ptr);
DEFINE_PER_CPU(u16, x86_cpu_to_node_map) = NUMA_NO_NODE;
EXPORT_PER_CPU_SYMBOL(x86_cpu_to_node_map);
... to avoid section mismatches.
Thanks,
Mike
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-01-16 18:10 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-16 17:09 [PATCH 00/10] x86: Reduce memory and intra-node effects with large count NR_CPUs V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 01/10] x86: Change size of APICIDs from u8 to u16 V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 02/10] x86: Change size of node ids " travis
2008-01-16 17:09 ` travis
2008-01-16 17:53 ` Eric Dumazet
2008-01-16 17:53 ` Eric Dumazet
2008-01-16 18:10 ` Mike Travis [this message]
2008-01-16 18:10 ` Mike Travis
2008-01-16 19:16 ` Mike Travis
2008-01-16 19:16 ` Mike Travis
2008-01-16 20:37 ` Eric Dumazet
2008-01-16 20:37 ` Eric Dumazet
2008-01-16 17:09 ` [PATCH 03/10] x86: Change NR_CPUS arrays in powernow-k8 V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 04/10] x86: Change NR_CPUS arrays in intel_cacheinfo V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 05/10] x86: Change NR_CPUS arrays in smpboot_64 V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 06/10] x86: Change NR_CPUS arrays in topology V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 07/10] x86: Cleanup x86_cpu_to_apicid references V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 08/10] x86: Change NR_CPUS arrays in numa_64 V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 09/10] x86: Change NR_CPUS arrays in acpi-cpufreq V3 travis
2008-01-16 17:09 ` travis
2008-01-16 17:09 ` [PATCH 10/10] x86: Change bios_cpu_apicid to percpu data variable V3 travis
2008-01-16 17:09 ` travis
2008-01-16 18:01 ` [PATCH 00/10] x86: Reduce memory and intra-node effects with large count NR_CPUs V3 Frans Pop
2008-01-16 18:01 ` Frans Pop
2008-01-16 18:14 ` Mike Travis
2008-01-16 18:14 ` Mike Travis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=478E4889.5030208@sgi.com \
--to=travis@sgi.com \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=clameter@sgi.com \
--cc=dada1@cosmosbay.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=steiner@sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.