lkml.org 
[lkml]   [2018]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] genirq: Consider domain hierarchy when checking for IRQCHIP_ONESHOT_SAFE
On Fri, 3 Aug 2018, Heiner Kallweit wrote:

> In case of a domain hierarchy we may miss the IRQCHIP_ONESHOT_SAFE
> flag because we look at top of the stack only. See also discussion
> here: https://marc.info/?l=linux-kernel&m=153301773524685&w=2

I think you misunderstood:

> I think the top most chip is the key, the rest of the hierarchy is
> irrelevant because the top most chip is the one which is responsible for
> not creating an interrupt storm after the interrupt got acknowledged.

The top most chip in the hierarchy, e.g. the PCI MSI one, is the key. If
that one is badly implemented and starts to resend after ack/eoi then the
interrupt storm happens. The lower layers in the hierarchy down to the
vector domain are just transporting what the top level chip does. So it is
actively wrong to flag the lower layers.

if (desc->irq_data.chip->flags & IRQCHIP_ONESHOT_SAFE)

is the correct check as it looks at the topmost irq chip which is the one
which initiates the interrupt.

Thanks,

tglx

\
 
 \ /
  Last update: 2018-08-03 22:02    [W:0.049 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site