Subject: Re: [PATCH] powerpc/powernv: Support OPAL requested heartbeat

From: Benjamin Herrenschmidt <[email-masked]>
Date: Fri, 14 Nov 2014 07:35:41 +1100

On Thu, 2014-11-13 at 10:59 -0600, Paul Clarke wrote:
> On 11/12/2014 12:03 AM, Benjamin Herrenschmidt wrote:
> > If OPAL requests it, call it back via opal_poll_events() at a
> > regular interval. Some versions of OPAL on some machines require
> > this to operate some internal timeouts properly.
> 
> I don't see any reason why not, but wanted to ask to make sure: this 
> daemon can be bound to a core, correct?  At least manually by taskset or 
> similar?

I think so... it's a kernel thread, but I haven't tried. It should be
akin to the existing khvcd.

> It sounds a lot like the RTAS thread, which I was happy to see go away 
> when running directly on OPAL, and don't want something else to take its 
> place.  It was not bindable, but ran periodically on EVERY core, err 
> hardware thread.
> 
> (Just looking to avoid latency blips.)

Right, I know where you come from. But you'll get those blips whether I
use a thread or an interrupt. Basically, I'm trying to get the HW guys
to give me a modified SLW engine image that I can use to request time by
setting up a delayed interrupt.

I'm trying to reduce the work done in there, and in fact I'm hoping to
only schedule my internal timers that rely on this (or the SLW
interrupt) for cases where we have a pending i2c or IPMI command, and
possibly only on machines without a functional external interrupt (so
lab bringup) or when accessing Centaur i2c (very very rarely).

But I do need that source of time...

Cheers,
Ben.