Re: [PATCH 1/5] drm/i915: Increase maximum polling time to 50ms for forcewake request/clear ack

Tvrtko Ursulin
2015-09-22T09:48:09Z

On 09/22/2015 10:15 AM, Chris Wilson wrote:
> On Tue, Sep 22, 2015 at 10:06:47AM +0100, Tvrtko Ursulin wrote:
>>
>> On 08/26/2015 10:26 AM, Daniel Vetter wrote:
>>> On Sun, Aug 23, 2015 at 05:52:47PM +0530, Sagar Arun Kamble wrote:
>>>> On BXT, We Observe timeout for forcewake request completion with 2ms polling period as given here:
>>>> [drm:fw_domains_get] ERROR render: timed out waiting for forcewake ack request.
>>>> Polling for 50ms is recommended to avoid these timeouts.
>>>>
>>>> Change-Id: Ie715b0069a3049606e9602bc5e97a6511890864d
>>>> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
>>>
>>> Probably needs cc: stable plus a pile of bugzilla links all over ...
>>
>> If the required wait is typically that long, shouldn't we be worried
>> about busy polling?
>
> With an exponential backoff (i.e. busyspin for the first ~jiffie/1ms)
> then usleep_range 1, 2, 4, 8,..?
>
> And also keeping the fw wakelock for longer than a jiffie to
> optimistically avoid these multi-jiffie stalls. Whilst grumbling.

For the atomic case holding it longer is the only option.

But key is how typical or atypical these long waits are. Measuring that
together with power use sounds critical.

Spread of required waits would also give the answer to what the best
sleeping strategy for the non-atomic case is.

Regards,

Tvrtko