Re: [PATCH 0/4] irq: change irq_desc and kstat_irq_legacy tovariable sized arrays

From: Ingo Molnar
Date: Sat Jan 10 2009 - 17:43:56 EST



* Mike Travis <travis@xxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/