From: travis@sgi.com
To: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <ak@suse.de>,
mingo@elte.hu
Cc: Eric Dumazet <dada1@cosmosbay.com>,
Christoph Lameter <clameter@sgi.com>,
Jack Steiner <steiner@sgi.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: [PATCH 00/10] x86: Reduce memory and intra-node effects with large count NR_CPUs V3
Date: Wed, 16 Jan 2008 09:09:02 -0800 [thread overview]
Message-ID: <20080116170902.006151000@sgi.com> (raw)
This patchset addresses the kernel bloat that occurs when NR_CPUS is increased.
The memory numbers below are with NR_CPUS = 1024 which I've been testing (4 and
32 real processors, the rest "possible" using the additional_cpus start option.)
These changes are all specific to the x86 architecture, non-arch specific
changes will follow.
Based on 2.6.24-rc6-mm1
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Christoph Lameter <clameter@sgi.com>
---
V1->V2:
- Remove extraneous casts
- Add comment about node memory < NODE_MIN_SIZE
- changed pxm_to_node_map to u16
- changed memnode map entries to u16
- Fix !NUMA builds with '#ifdef CONFIG_NUMA"
- Add slight optimization to apic_is_clustered_box()
V2->V3:
- add early_cpu_to_node function to keep cpu_to_node efficient
- move and rename smp_set_apicids() to setup_percpu_maps()
- call setup_percpu_maps() as early as possible
- changed memnode.embedded_map from [64-16] to [64-8]
(and size comment to 128 bytes)
---
[Updated memory usage table.]
The following columns are using the SuSE default x86_64 config
[which has NR_CPUS=128] and NR_CPUS=1024. There are no modules
in either. Each column's percentage is relative to the first.
128cpus 1kcpus-before 1kcpus-after
228 .altinstr_re 228 +0% 228 +0%
1219 .altinstruct 1219 +0% 1219 +0%
866632 .bss 2260296 +160% 2112968 +143%
61374 .comment 61374 +0% 61374 +0%
16 .con_initcal 16 +0% 16 +0%
427560 .data 445480 +4% 444200 +3%
1165824 .data.cachel 13076992 +1021% 13076992 +1021%
8192 .data.init_t 8192 +0% 8192 +0%
4096 .data.page_a 4096 +0% 4096 +0%
39296 .data.percpu 155776 +296% 155904 +296%
188992 .data.read_m 8751776 +4530% 8747680 +4528%
4 .data_nosave 4 +0% 4 +0%
5141 .exit.text 5150 +0% 5149 +0%
138576 .init.data 139472 +0% 145424 +4%
134 .init.ramfs 134 +0% 134 +0%
3192 .init.setup 3192 +0% 3192 +0%
160143 .init.text 160643 +0% 160914 +0%
2288 .initcall.in 2288 +0% 2288 +0%
8 .jiffies 8 +0% 8 +0%
4512 .pci_fixup 4512 +0% 4512 +0%
1314318 .rodata 1315630 +0% 1315305 +0%
36856 .smp_locks 36808 +0% 36800 +0%
3975021 .text 3984829 +0% 3987389 +0%
3368 .vdso 3368 +0% 3368 +0%
4 .vgetcpu_mod 4 +0% 4 +0%
218 .vsyscall_0 218 +0% 218 +0%
52 .vsyscall_1 52 +0% 52 +0%
91 .vsyscall_2 91 +0% 91 +0%
8 .vsyscall_3 8 +0% 8 +0%
54 .vsyscall_fn 54 +0% 54 +0%
80 .vsyscall_gt 80 +0% 80 +0%
39480 __bug_table 39480 +0% 39480 +0%
16320 __ex_table 16320 +0% 16320 +0%
9160 __param 9160 +0% 9160 +0%
1818299 Text 1834603 +0% 1834859 +0%
3975021 Data 3984829 +0% 3987389 +0%
866632 Bss 2260296 +160% 2112968 +143%
360448 InitData 483328 +34% 487424 +35%
1415640 OtherData 21885912 +1446% 21883096 +1445%
39296 PerCpu 155776 +0% 155904 +0%
8472457 Total 30486950 +259% 30342823 +258%
[Note that the sum of the last 6 lines may not equal "Total" as some
sections may contain others (eg., InitData contains PerCpu data.)]
--
WARNING: multiple messages have this Message-ID (diff)
From: travis@sgi.com
To: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <ak@suse.de>,
mingo@elte.hu
Cc: Eric Dumazet <dada1@cosmosbay.com>,
Christoph Lameter <clameter@sgi.com>,
Jack Steiner <steiner@sgi.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: [PATCH 00/10] x86: Reduce memory and intra-node effects with large count NR_CPUs V3
Date: Wed, 16 Jan 2008 09:09:02 -0800 [thread overview]
Message-ID: <20080116170902.006151000@sgi.com> (raw)
This patchset addresses the kernel bloat that occurs when NR_CPUS is increased.
The memory numbers below are with NR_CPUS = 1024 which I've been testing (4 and
32 real processors, the rest "possible" using the additional_cpus start option.)
These changes are all specific to the x86 architecture, non-arch specific
changes will follow.
Based on 2.6.24-rc6-mm1
Signed-off-by: Mike Travis <travis@sgi.com>
Reviewed-by: Christoph Lameter <clameter@sgi.com>
---
V1->V2:
- Remove extraneous casts
- Add comment about node memory < NODE_MIN_SIZE
- changed pxm_to_node_map to u16
- changed memnode map entries to u16
- Fix !NUMA builds with '#ifdef CONFIG_NUMA"
- Add slight optimization to apic_is_clustered_box()
V2->V3:
- add early_cpu_to_node function to keep cpu_to_node efficient
- move and rename smp_set_apicids() to setup_percpu_maps()
- call setup_percpu_maps() as early as possible
- changed memnode.embedded_map from [64-16] to [64-8]
(and size comment to 128 bytes)
---
[Updated memory usage table.]
The following columns are using the SuSE default x86_64 config
[which has NR_CPUS=128] and NR_CPUS=1024. There are no modules
in either. Each column's percentage is relative to the first.
128cpus 1kcpus-before 1kcpus-after
228 .altinstr_re 228 +0% 228 +0%
1219 .altinstruct 1219 +0% 1219 +0%
866632 .bss 2260296 +160% 2112968 +143%
61374 .comment 61374 +0% 61374 +0%
16 .con_initcal 16 +0% 16 +0%
427560 .data 445480 +4% 444200 +3%
1165824 .data.cachel 13076992 +1021% 13076992 +1021%
8192 .data.init_t 8192 +0% 8192 +0%
4096 .data.page_a 4096 +0% 4096 +0%
39296 .data.percpu 155776 +296% 155904 +296%
188992 .data.read_m 8751776 +4530% 8747680 +4528%
4 .data_nosave 4 +0% 4 +0%
5141 .exit.text 5150 +0% 5149 +0%
138576 .init.data 139472 +0% 145424 +4%
134 .init.ramfs 134 +0% 134 +0%
3192 .init.setup 3192 +0% 3192 +0%
160143 .init.text 160643 +0% 160914 +0%
2288 .initcall.in 2288 +0% 2288 +0%
8 .jiffies 8 +0% 8 +0%
4512 .pci_fixup 4512 +0% 4512 +0%
1314318 .rodata 1315630 +0% 1315305 +0%
36856 .smp_locks 36808 +0% 36800 +0%
3975021 .text 3984829 +0% 3987389 +0%
3368 .vdso 3368 +0% 3368 +0%
4 .vgetcpu_mod 4 +0% 4 +0%
218 .vsyscall_0 218 +0% 218 +0%
52 .vsyscall_1 52 +0% 52 +0%
91 .vsyscall_2 91 +0% 91 +0%
8 .vsyscall_3 8 +0% 8 +0%
54 .vsyscall_fn 54 +0% 54 +0%
80 .vsyscall_gt 80 +0% 80 +0%
39480 __bug_table 39480 +0% 39480 +0%
16320 __ex_table 16320 +0% 16320 +0%
9160 __param 9160 +0% 9160 +0%
1818299 Text 1834603 +0% 1834859 +0%
3975021 Data 3984829 +0% 3987389 +0%
866632 Bss 2260296 +160% 2112968 +143%
360448 InitData 483328 +34% 487424 +35%
1415640 OtherData 21885912 +1446% 21883096 +1445%
39296 PerCpu 155776 +0% 155904 +0%
8472457 Total 30486950 +259% 30342823 +258%
[Note that the sum of the last 6 lines may not equal "Total" as some
sections may contain others (eg., InitData contains PerCpu data.)]
--
--
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 reply other threads:[~2008-01-16 17:10 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-16 17:09 travis [this message]
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 ` [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
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=20080116170902.006151000@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.