[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