lkml.org 
[lkml]   [2019]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/5] genirq/affinity: introduce .setup_affinity to support allocating interrupt sets
Date
Hi,

The current support for allocating interrupt sets requires that same 'max_vec'
and 'min_vec' is passed to pci_alloc_irq_vectors_affinity(), then driver has to
try to allocate again and again until it succeeds.

This patch introduces .setup_affinity callback, and we can use it to
re-caculate interrupt sets and build affinity for each set after
irq vectors are allocated.

Turns out both genirq/affinity and nvme code get simplified a lot.

Please review and comment!

Ming Lei (5):
genirq/affinity: move allocation of 'node_to_cpumask' to
irq_build_affinity_masks
genirq/affinity: allow driver to setup managed IRQ's affinity
genirq/affinity: introduce irq_build_affinity()
nvme-pci: simplify nvme_setup_irqs() via .setup_affinity callback
genirq/affinity: remove support for allocating interrupt sets

drivers/nvme/host/pci.c | 97 +++++++++++++++++++++--------------------
drivers/pci/msi.c | 14 ------
include/linux/interrupt.h | 42 ++++++++++++------
kernel/irq/affinity.c | 108 ++++++++++++++++++++++++----------------------
4 files changed, 133 insertions(+), 128 deletions(-)

--
2.9.5

\
 
 \ /
  Last update: 2019-01-25 10:54    [W:0.147 / U:9.540 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site