[igt-dev] [PATCH i-g-t] lib/i915: Fix gem_has_execlists to match description

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Oct 18 07:43:10 UTC 2021


On 16/10/2021 00:57, John Harrison wrote:
> On 10/15/2021 16:39, Dixit, Ashutosh wrote:
>> On Fri, 15 Oct 2021 16:42:12 -0700, John Harrison wrote:
>>> On 10/15/2021 16:38, Ashutosh Dixit wrote:
>>>> Driver is using execlists if it is not using GuC submission.
>>>> GEM_SUBMISSION_EXECLISTS flag indicates if execlist submission is
>>>> available, not if it is being used by the driver.
>>>>
>>>> Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
>>>> ---
>>>>    lib/i915/gem_submission.c | 2 +-
>>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/lib/i915/gem_submission.c b/lib/i915/gem_submission.c
>>>> index 2627b802cfb..4312a73bd85 100644
>>>> --- a/lib/i915/gem_submission.c
>>>> +++ b/lib/i915/gem_submission.c
>>>> @@ -153,7 +153,7 @@ bool gem_has_semaphores(int fd)
>>>>     */
>>>>    bool gem_has_execlists(int fd)
>>>>    {
>>>> -    return gem_submission_method(fd) & GEM_SUBMISSION_EXECLISTS;
>>>> +    return !gem_has_guc_submission(fd);
>>> Don't we use ring submission on older platforms?
>> Hmm, I wasn't aware that there was yet another submission method :/
>>
>> So execlist submission is only available for gen >= 8 as the code 
>> says, in
>> case anyone knows?
> Yes. Execlists was new feature of the hardware not all that long ago 
> (ELSP and all that). Gen8 sounds plausible.

Yes Gen8+.

> Of course, it all depends why the code is asking the question? Does it 
> really need to know what the submission hardware is? Or is it actually 
> asking about the scheduling algorithm (as is the case for 
> gem_exec_fair). Or something else entirely? The scheduler question is 
> going to change again when we move to using the DRM scheduler instead of 
> our own private one in the execlist code. Currently though, I would 
> assume we use the execlist scheduler for ring submission but certainly 
> not for GuC submission (because the scheduler is in the hardware).

Nope, no scheduling with ringbuffer backend.

There is I915_PARAM_HAS_SCHEDULER and respective IGT helpers to query 
what kind of scheduling is supported on the device in question.

It will be on a test per test basis why it is asking the question and 
what would be the appropriate test.

Regards,

Tvrtko

> 
> John.
> 
>>
>>> Isn't the better fix to just not set the EXECLIST flag when GuC
>>> submission is detected?
>> Yes, let me post this patch too. Thanks!
> 


More information about the igt-dev mailing list