lkml.org 
[lkml]   [2021]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH tip:irq/core v1] genirq: remove auto-set of the mask when setting the hint
    Date
    On Mon, May 17 2021 at 21:08, Thomas Gleixner wrote:
    > On Mon, May 17 2021 at 19:50, Robin Murphy wrote:
    >> On 2021-05-17 19:08, Thomas Gleixner wrote:
    >>> On Mon, May 17 2021 at 18:26, Robin Murphy wrote:
    >>>> On 2021-05-17 17:57, Nitesh Lal wrote:
    >>>> I'm not implying that there isn't a bug, or that this code ever made
    >>>> sense in the first place, just that fixing it will unfortunately be a
    >>>> bit more involved than a simple revert. This patch as-is *will* subtly
    >>>> break at least the system PMU drivers currently using
    >>>
    >>> s/using/abusing/
    >>>
    >>>> irq_set_affinity_hint() - those I know require the IRQ affinity to
    >>>> follow whichever CPU the PMU context is bound to, in order to meet perf
    >>>> core's assumptions about mutual exclusion.
    >>>
    >>> Which driver is that?
    >>
    >> Right now, any driver which wants to control an IRQ's affinity and also
    >> build as a module, for one thing. I'm familiar with drivers/perf/ where
    >> a basic pattern has been widely copied;
    >
    > Bah. Why the heck can't people talk and just go and rumage until they
    > find something which hopefully does what they want...
    >
    > The name of that function should have rang all alarm bells...

    Aside of that all the warnings around the return value are useless cargo
    cult. Why?

    The only reason why this function returns an error code is when there is
    no irq descriptor assigned to the interrupt number, which is well close
    to impossible in that context.

    But it does _NOT_ return an error when the actual affinity setting
    fails...

    Thanks,

    tglx

    \
     
     \ /
      Last update: 2021-05-17 22:18    [W:3.190 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site