diff options
author | Yinghai Lu <yinghai@kernel.org> | 2009-12-29 05:08:29 (GMT) |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-30 10:55:59 (GMT) |
commit | 9959c888a38b0f25b0e81a480f537d6489348442 (patch) | |
tree | 3da4a8fbcc6da66f5c830509e02bbca83c3d77bf /fs/lockd/svc4proc.c | |
parent | 6b7b284958d47b77d06745b36bc7f36dab769d9b (diff) | |
download | linux-9959c888a38b0f25b0e81a480f537d6489348442.tar.xz |
x86: Increase NR_IRQS and nr_irqs
I have a system with lots of igb and ixgbe, when iov/vf are
enabled for them, we hit the limit of 3064.
when system has 20 pcie installed, and one card has 2
functions, and one function needs 64 msi-x,
may need 20 * 2 * 64 = 2560 for msi-x
but if iov and vf are enabled
may need 20 * 2 * 64 * 3 = 7680 for msi-x
assume system with 5 ioapic, nr_irqs_gsi will be 120.
NR_CPUS = 512, and nr_cpu_ids = 128
will have NR_IRQS = 256 + 512 * 64 = 33024
will have nr_irqs = 120 + 8 * 128 + 120 * 64 = 8824
When SPARSE_IRQ is not set, there is no increase with kernel data
size.
when NR_CPUS=128, and SPARSE_IRQ is set:
text data bss dec hex filename
21837444 4216564 12480736 38534744 24bfe58 vmlinux.before
21837442 4216580 12480736 38534758 24bfe66 vmlinux.after
when NR_CPUS=4096, and SPARSE_IRQ is set
text data bss dec hex filename
21878619 5610244 13415392 40904255 270263f vmlinux.before
21878617 5610244 13415392 40904253 270263d vmlinux.after
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <4B398ECD.1080506@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/lockd/svc4proc.c')
0 files changed, 0 insertions, 0 deletions