Re: [PATCH] x86_64: Make NR_IRQS configurable in Kconfig

H. Peter Anvin
2006-08-07T17:52:32Z

Eric W. Biederman wrote:
> "H. Peter Anvin" <hpa@zytor.com> writes:
>
>> Eric W. Biederman wrote:
>>> a) Because I would like to flush out bugs.
>>> b) Because I want a default that works for everyone.
>>> c) Because with MSI we have a potential for large irq counts on most systems.
>>> d) Because anyone who disagrees with me can send a patch and fix
>>> the default.
>>> e) Because with the default number of cpus we can very close to needing
>>> this many irqs in the worst case.
>>> f) This is much better than previous to my patch and setting NR_CPUS=255
>>> and getting 8K IRQS.
>>> g) Because I probably should have been more inventive than copying the
>>> NR_IRQS text, but when I did the wording sounded ok to me.
>>>
>> Why not simply reserve 224*NR_CPUS IRQs? If you have 256 CPUs allocating 64K
>> IRQs should hardly matter :)
>
> Well there is this little matter of 224*NR_CPUS*NR_CPUS counters at that point
> that I think would be prohibitive for most sane people. Taking 224K of per cpu
> memory in 256 different per cpu areas.
>
> Still what is 56MB when you have a terrabyte of RAM. :)
>

However, 99.99% of all systems have 16 or fewer CPU cores. Your solution
with its proposed default eats more memory for any system with fewer
than 19 CPUs.

Furthermore, you don't need 224*NR_CPUS*NR_CPUS counters. If an IRQ is
only mapped into one CPU's space it can only be taken on that CPU, thus
you only need 224*NR_CPUS counters.

-hpa