Re: [PATCH -tip -v5] irq_work: generic hard-irq context callbacks

From: Peter Zijlstra
Date: Fri Sep 17 2010 - 09:07:17 EST


On Fri, 2010-09-17 at 10:05 +0800, Huang Ying wrote:
> From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
>
> In order for other NMI context users that want to run things from
> hard-IRQ context, extract the perf_event callback mechanism.
>
> Huang Ying: some fixes

I got complaints about a lacking changelog, how about something like the
below?

---

Provide a mechanism that allows running code in IRQ context. It is most
useful for NMI code that needs to interact with the rest of the system
-- like wakeup a task to drain buffers.

Perf currently has such a mechanism, so extract that and provide it as a
generic feature, independent of perf so that others may also benefit.

The IRQ context callback is generated through self-IPIs where possible,
or on architectures like powerpc which have soft-disabled IRQs, its ran
on the soft-enable path.

Architectures that don't have anything like this get to do with a
callback from the timer tick. These architectures can call
irq_run_work() at the tail of any IRQ handlers that might enqueue such
work (like the perf IRQ handler) to avoid undue latencies in processing
the work.

---
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/