[PATCH RFC v1 0/2] Support for limiting the number of managed interrupts on every node per allocation.

'Guanjun' posted 2 patches 3 weeks, 3 days ago
.../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(-)
[PATCH RFC v1 0/2] Support for limiting the number of managed interrupts on every node per allocation.
Posted by 'Guanjun' 3 weeks, 3 days ago
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