[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1284728802.28028.470.camel@twins>
Date: Fri, 17 Sep 2010 15:06:42 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Huang Ying <ying.huang@...el.com>
Cc: Ingo Molnar <mingo@...e.hu>, "H. Peter Anvin" <hpa@...or.com>,
paulus <paulus@...ba.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Andi Kleen <andi@...stfloor.org>,
dhowells <dhowells@...hat.com>,
Russell King <rmk@....linux.org.uk>,
Kyle McMartin <kyle@...artin.ca>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
davem <davem@...emloft.net>,
Linux-Arch <linux-arch@...r.kernel.org>
Subject: Re: [PATCH -tip -v5] irq_work: generic hard-irq context callbacks
On Fri, 2010-09-17 at 10:05 +0800, Huang Ying wrote:
> From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
>
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists