From: Mike Travis <travis@sgi.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Ingo Molnar <mingo@redhat.com>,
Rusty Russell <rusty@rustcorp.com.au>,
Yinghai Lu <yinghai@kernel.org>, Jack Steiner <steiner@sgi.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] irq: change irq_desc and kstat_irq_legacy to variable sized arrays
Date: Sat, 10 Jan 2009 16:15:20 -0800 [thread overview]
Message-ID: <49693A18.5090802@sgi.com> (raw)
In-Reply-To: <20090110224323.GA17917@elte.hu>
Ingo Molnar wrote:
> * Mike Travis <travis@sgi.com> wrote:
>
>> The following patches change irq_desc and kstat_irq_legacy into
>> variable sized arrays based on nr_cpu_ids when CONFIG_SPARSE_IRQS=y.
>>
>> irq: change references from NR_IRQS to nr_irqs
>> irq: allocate irq_desc_ptrs array based on nr_irqs
>> irq: initialize nr_irqs based on nr_cpu_ids
>> kstat: modify kstat_irqs_legacy to be variable sized
>>
>> Based on: tip/cpus4096 @ v2.6.28-6140-g36c401a
>>
>> (Ingo - I will push these to your tip/cpus4096 branch via my cpus4096-for-ingo
>> git tree.)
>
> Thanks - please send a pull request when you feel good about them.
>
> The changes look good to me.
>
>> Affects of the SPARSE changes on NR_CPUS values.
>>
>> 1 - 128-defconfig (non-SPARSE)
>> 2 - 4k-defconfig (non-SPARSE)
>> 3 - 4k-defconfig (SPARSE)
>>
>> ====== Data
>>
>> .1. .2. .3. ..final..
>> 1114112 . -1114112 . -100% irq_desc(.data.cacheline_aligned)
>> 208896 -69632 -138752 512 -99% irq_cfgx(.data)
>> 34816 . -34816 . -100% irq_timer_state(.bss)
>> 17480 . -17480 . -100% per_cpu__kstat(.data.percpu)
>> 0 . +4096 4096 . irq_desc_legacy(.data.cacheline_aligned)
>
> Impressive!
>
> If i remember your previous figures correctly we've got about +4MB of
> memory bloat at 4K CPUs, that is now down to 3MB total?
>
> Ingo
Here's my latest stats:
====== Text/Data ()
1 - 128-defconfig
2 - 4k-defconfig
.1. .2. ..final..
5935104 -6144 5928960 -0.10% TextSize
3833856 +43008 3876864 +1.12% DataSize
9734144 -219136 9515008 -2.25% BssSize
2449408 +790528 3239936 +32% InitSize
1884160 +6144 1890304 +0.33% PerCPU
110592 +462848 573440 +418% OtherSize
====== Sections (-l 500)
1 - 128-defconfig
2 - 4k-defconfig
.1. .2. ..final..
118246380 +1109486 119355866 +0.94% Total
74327135 +46083 74373218 +0.06% .debug_info
10590059 -14760 10575299 -0.14% .debug_loc
9734104 -219904 9514200 -2.26% .bss
5934961 -5744 5929217 -0.10% .text
4387075 -6047 4381028 -0.14% .debug_line
2369795 +25072 2394867 +1.06% .rodata
1938985 +21033 1960018 +1.08% .debug_abbrev
1883808 +5760 1889568 +0.31% .data.percpu
1691216 -7952 1683264 -0.47% .debug_ranges
1481593 -920 1480673 -0.06% .debug_str
1316320 -1864 1314456 -0.14% .debug_frame
1195280 +20408 1215688 +1.71% .data
34440 +6784 41224 +19% .data.read_mostly
30016 +459264 489280 +1530% .data.cacheline_aligned
23352 -1692 21660 -7.25% __bug_table
13760 +1312 15072 +9.53% __param
====== Data (-l 500)
1 - 128-defconfig
2 - 4k-defconfig
.1. .2. ..final..
1179648 -1179648 . -100% obj_hash(.bss)
23816 +459264 483080 +1928% kmalloc_caches(.data.cacheline_aligned)
20480 -20480 . -100% obj_static_pool(.bss)
16384 +507904 524288 +3100% boot_pageset(.bss)
9576 +15032 24608 +156% def_root_domain(.bss)
6404 +26880 33284 +419% e820_saved(.bss)
6404 +26880 33284 +419% e820(.bss)
5216 +31736 36952 +608% iter(.bss)
5120 +35840 40960 +700% node_devices(.bss)
4976 +552 5528 +11% init_task(.data)
3776 +25088 28864 +664% hstates(.bss)
3072 +95232 98304 +3100% ucode_cpu_info(.bss)
1145 -1145 . -100% centrino_target(.text)
1064 +31744 32808 +2983% max_tr(.bss)
1064 +31744 32808 +2983% global_trace(.bss)
1040 +32240 33280 +3100% cpu_bit_bitmap(.rodata)
1024 +1024 2048 +100% pxm_to_node_map(.data)
1024 +7168 8192 +700% nodes_add(.bss)
1020 +130052 131072 +12750% apic_version(.bss)
945 -945 . -100% debug_objects_mem_init(.init.text)
835 -835 . -100% speedstep_get_processor_frequency(.text)
752 -752 . -100% __debug_object_init(.text)
541 -541 . -100% cpufreq_p4_target(.text)
525 -525 . -100% speedstep_detect_processor(.text)
514 -514 . -100% page_mkclean(.text)
512 -512 . -100% speedstep_get_freqs(.text)
512 +3584 4096 +700% node_data(.data.read_mostly)
512 +15872 16384 +3100% last_pid(.data)
512 -512 . -100% has_N44_O17_errata(.bss)
====== Stack (-l 500)
1 - 128-defconfig
2 - 4k-defconfig
(Note the cpuset bumps have been addressed by Li Zefan's changes.)
.1. .2. ..final..
0 +808 808 . cpuset_write_resmask
0 +736 736 . update_flag
0 +640 640 . cpuset_attach
0 +600 600 . powernowk8_target
0 +584 584 . shmem_getpage
0 +584 584 . __percpu_alloc_mask
0 +568 568 . powernowk8_cpu_init
0 +552 552 . smp_call_function_many
0 +536 536 . pci_device_probe
0 +536 536 . cpuset_common_file_read
0 +528 528 . check_supported_cpu
0 +520 520 . cpuset_can_attach
0 +512 512 . powernowk8_get
next prev parent reply other threads:[~2009-01-11 0:15 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-10 22:38 [PATCH 0/4] irq: change irq_desc and kstat_irq_legacy to variable sized arrays Mike Travis
2009-01-10 22:38 ` [PATCH 1/4] irq: change references from NR_IRQS to nr_irqs Mike Travis
2009-01-10 22:45 ` Ingo Molnar
2009-01-10 23:10 ` Mike Travis
2009-01-11 1:06 ` Ingo Molnar
2009-01-10 22:38 ` [PATCH 2/4] irq: allocate irq_desc_ptrs array based on nr_irqs Mike Travis
2009-01-10 22:47 ` Ingo Molnar
2009-01-10 23:03 ` Mike Travis
2009-01-11 1:06 ` Ingo Molnar
2009-01-10 22:38 ` [PATCH 3/4] irq: initialize nr_irqs based on nr_cpu_ids Mike Travis
2009-01-10 22:50 ` Ingo Molnar
2009-01-10 23:20 ` Mike Travis
2009-01-11 1:07 ` Ingo Molnar
2009-01-11 2:00 ` Mike Travis
2009-01-10 22:38 ` [PATCH 4/4] kstat: modify kstat_irqs_legacy to be variable sized Mike Travis
2009-01-10 22:52 ` Ingo Molnar
2009-01-10 23:08 ` Mike Travis
2009-01-11 1:08 ` Ingo Molnar
2009-01-11 4:32 ` Mike Travis
2009-01-11 7:01 ` Yinghai Lu
2009-01-11 12:17 ` Ingo Molnar
2009-01-11 17:50 ` Mike Travis
2009-01-11 17:40 ` Mike Travis
2009-01-11 17:48 ` Mike Travis
2009-01-10 22:43 ` [PATCH 0/4] irq: change irq_desc and kstat_irq_legacy to variable sized arrays Ingo Molnar
2009-01-11 0:15 ` Mike Travis [this message]
2009-01-11 1:10 ` Ingo Molnar
2009-01-11 1:19 ` 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=49693A18.5090802@sgi.com \
--to=travis@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=steiner@sgi.com \
--cc=yinghai@kernel.org \
/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.