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:6.244 / U:0.208 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site