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.
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.