From: Guanjun <guanjun@xxxxxxxxxxxxxxxxx> 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