[Intel-gfx] [PATCH 3/8] drm/i915/execlists: Suppress redundant preemption

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Tue Jan 29 12:26:46 UTC 2019


On 29/01/2019 11:21, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2019-01-29 11:15:35)
>>
>> On 29/01/2019 08:58, Chris Wilson wrote:
>>> On unwinding the active request we give it a small (limited to internal
>>> priority levels) boost to prevent it from being gazumped a second time.
>>> However, this means that it can be promoted to above the request that
>>> triggered the preemption request, causing a preempt-to-idle cycle for no
>>
>> How can it go higher? Only because I915_PRIORITY_NEWCLIENT is higher
>> than I915_PRIORITY_WAIT? In that case would re-ordering those help? I
>> don't remember if there was a reason for the current order.
> 
> Yes. There's more reasons later (media-bench is quite insistent about
> this ;).
> 
> You were quite adamant in insisting that WAIT be the most minor of
> boosts :)

I was afraid that might have been the case. :) So we are firmly into 
tweaking the scheduler for particulars clients territory.. and that 
before we even have time-slicing!

In my mind it probably still makes sense that WAIT is lowest bump.

How about a we add a new smallest internal dedicated level for preempted 
contexts? Because I don't like how this patch would intermingle with 
either WAIT or NEWCLIENT.

#define I915_PRIORITY_PREEMPTED	((u8)BIT(0)) /* Must be lowest */
#define I915_PRIORITY_WAIT	((u8)BIT(1))
#define I915_PRIORITY_NEWCLIENT	((u8)BIT(2))

?

Regards,

Tvrtko


More information about the Intel-gfx mailing list