public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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



  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox