[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5511DFE2.4010605@ezchip.com>
Date: Tue, 24 Mar 2015 18:06:26 -0400
From: Chris Metcalf <cmetcalf@...hip.com>
To: Peter Zijlstra <peterz@...radead.org>
CC: <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...nel.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Thomas Gleixner <tglx@...utronix.de>,
Frederic Weisbecker <fweisbec@...il.com>
Subject: Re: [PATCH 1/4] tile: support arch_irq_work_raise
On 3/24/2015 5:14 PM, Peter Zijlstra wrote:
> On Tue, Mar 24, 2015 at 03:21:32PM -0400, cmetcalf@...hip.com wrote:
>> From: Chris Metcalf <cmetcalf@...hip.com>
>>
>> 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@...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