Subject: Re: [PATCH] powerpc/pseries: Avoid context switch in EEH reset if required

From: Brian King <[email-masked]>
Date: Tue, 27 Jan 2015 16:58:08 -0600

On 01/26/2015 10:31 PM, Benjamin Herrenschmidt wrote:
> On Mon, 2015-01-26 at 17:36 -0600, Brian King wrote:
>> To set some context, this function is only used by ipr for some old
>> broken adapters. These are adapters that are not supported on p8,
>> so will never show up under OPAL, only PowerVM. I'm fine with looking
>> at alternatives for the future, but I can't say I'm too excited about
>> changing the calling requirements for an API that has been around
>> for many years. Particularly given that this code is only needed for
>> these old adapters. If its difficult to implement this for OPAL without
>> noticeable delays, could we just return -EINVAL for this function on OPAL?,
>> since its not needed there today anyway.
> 
> Because it's needed for other things nowadays afaik, though IPR is the only one
> that needs this to be done at interrupt time...

I'd argue we are our own worst enemy here really. The new user is EEH code.
I don't see a huge reason that code would need to use this exact same API.

> In fact, even with IPR and the existing call, how do you wait for the link to come
> back for a PERST ? That can take a while...

Basically, I assert reset, delay for 1/2 second via a timer interrupt, deassert reset,
delay for 2 seconds via another timer interrupt, then proceed with adapter initialization.

Thanks,

Brian

-- 
Brian King
Power Linux I/O
IBM Linux Technology Center