Re: [PATCH 1/4] tile: support arch_irq_work_raise

From: Chris Metcalf
Date: Tue Mar 24 2015 - 18:06:46 EST


On 3/24/2015 5:14 PM, Peter Zijlstra wrote:
On Tue, Mar 24, 2015 at 03:21:32PM -0400, cmetcalf@xxxxxxxxxx wrote:
From: Chris Metcalf <cmetcalf@xxxxxxxxxx>

Tile includes a hypervisor hook to deliver messages to arbitrary
tiles, so we can use that to raise an interrupt as soon as
possible on our own core. Unfortunately the Tilera hypervisor
disabled that support on principle in previous releases, but
it will be available in MDE 4.3.4 and later.
Can you program a timer in the (recent) past which will instantly
trigger an interrupt? This is what PPC64 does to implement the self-ipi.

I looked in git history a bit and see commit 105988c015943 from 2009,
which looks like it was the basis for the powerpc support. I'm a little leery
of just randomly changing the in-flight timer decrementer value, though;
does the timer event_handler properly handle being called early, and
then properly handle resetting the decrementer to the right value?
I guess if both of those things are true, it seems plausible to adopt the
approach you suggested.

On the other hand, the approach I coded up avoids making any of those
slightly scary assumptions about the timer subsystem, and I don't really
have a problem with saying you need a recent Tilera hypervisor binary if
you want to use NOHZ_FULL...

--
Chris Metcalf, EZChip Semiconductor
http://www.ezchip.com

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