Messages in this thread | | | Date | Tue, 24 Mar 2015 18:06:26 -0400 | From | Chris Metcalf <> | 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@ezchip.com wrote: >> From: Chris Metcalf <cmetcalf@ezchip.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
| |