From: Guanjun <guanjun@linux.alibaba.com>
We found that in scenarios with a large number of devices on the system,
for example, 256 NVMe block devices, each with 2 I/O queues, about a few
dozen of interrupts cannot be allocated, and get the error code -ENOSPC.
The reason for this issue is that the io queue interrupts are set to managed
interrupts (i.e., affinity is managed by the kernel), which leads to a
excessive number of the IRQ matrix bits being reserved.
This patch series support for limiting the number of managed interrupt
per allocation to address this issue.
Thanks,
Guanjun
Guanjun (2):
genirq/affinity: add support for limiting managed interrupts
genirq/cpuhotplug: Handle managed IRQs when the last CPU hotplug out
in the affinity
.../admin-guide/kernel-parameters.txt | 12 ++++
block/blk-mq-cpumap.c | 2 +-
drivers/virtio/virtio_vdpa.c | 2 +-
fs/fuse/virtio_fs.c | 2 +-
include/linux/group_cpus.h | 2 +-
include/linux/irq.h | 2 +
kernel/cpu.c | 2 +-
kernel/irq/affinity.c | 11 ++--
kernel/irq/cpuhotplug.c | 51 +++++++++++++++++
lib/group_cpus.c | 55 ++++++++++++++++++-
10 files changed, 130 insertions(+), 11 deletions(-)
--
2.43.5