On 11/17/2017 03:42 PM, Vineet Gupta wrote: >>>> What do you (on ARC) do about irq_work ? >>> > >> So the reason I'm asking is that some architectures that don't have NMIs >> call irq_work_run() at the very end of their perf-interrupt handler (ARM >> does this for instance). > > But on ARC, we don't call irq_work_run() in perf intr return path and that seem to > imply it is broken - as in latency to service a perf induced preemption. [snip...] >>> Although I'm sure it is, can you please explain how irq_work is relevant in >>> the context of this patch. >> >> Since the perf interrupt (in general) cannot call a whole lot of things >> for it needs to assume running from NMI context, it needs to defer >> things to a more regular context. It does this with irq_work. So given my understanding of this topic, ARC (or any non NMI based perf intr system) is potentially broken without irq_work_run() ? I can follow up with a patch for ARC, or does this need to addressed for others too - say irq_exit_perf() or some such ?