Jes,

I am all in favor of making the automatic setup better, but assuming an
automatic setup is always right seems problematic. There could be
workloads where you may want to assign affinity explicitly.

Adding Thomas to the thread.

My understanding that the thought is to prevent user-space from
messing up the nice linear assignment, but maybe this might be too
conservative?

The patch that prevented user-space from touching managed irq affinity
assignments:

--
commit 45ddcecbfa947f1dd8e8019bad9e90d6c9f2665c
Author: Thomas Gleixner <t...@linutronix.de>
Date:   Mon Jul 4 17:39:25 2016 +0900

    genirq: Use affinity hint in irqdesc allocation

Use the affinity hint in the irqdesc allocator. The hint is used to determine
    the node for the allocation and to set the affinity of the interrupt.

If multiple interrupts are allocated (multi-MSI) then the allocator iterates over the cpumask and for each set cpu it allocates on their node and sets the
    initial affinity to that cpu.

If a single interrupt is allocated (MSI-X) then the allocator uses the first cpu in the mask to compute the allocation node and uses the mask for the
    initial affinity setting.

    Interrupts set up this way are marked with the AFFINITY_MANAGED flag to
    prevent userspace from messing with their affinity settings.

    Signed-off-by: Thomas Gleixner <t...@linutronix.de>
    Cc: Christoph Hellwig <h...@lst.de>
    Cc: linux-bl...@vger.kernel.org
    Cc: linux-...@vger.kernel.org
    Cc: linux-n...@lists.infradead.org
    Cc: ax...@fb.com
    Cc: agord...@redhat.com
Link: http://lkml.kernel.org/r/1467621574-8277-5-git-send-email-...@lst.de
    Signed-off-by: Thomas Gleixner <t...@linutronix.de>
--

Reply via email to