From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: John Harrison <john.c.harrison@intel.com>
Cc: <IGT-Dev@Lists.FreeDesktop.Org>, <Intel-GFX@Lists.FreeDesktop.Org>
Subject: Re: [Intel-gfx] [igt-dev] [PATCH v2 i-g-t] tests/i915: Skip gem_exec_fair on GuC based platforms
Date: Fri, 15 Oct 2021 15:41:26 -0700 [thread overview]
Message-ID: <87a6j9di7d.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <92e77c59-f783-8d2c-c306-be163c6626d3@intel.com>
On Fri, 15 Oct 2021 14:46:20 -0700, John Harrison wrote:
>
> On 10/15/2021 07:52, Dixit, Ashutosh wrote:
> > On Thu, 14 Oct 2021 12:42:38 -0700, <John.C.Harrison@Intel.com> wrote:
> >> + /*
> >> + * These tests are for a specific scheduling model which is
> >> + * not currently implemented by GuC. So skip on GuC platforms.
> >> + */
> >> + devid = intel_get_drm_devid(i915);
> >> + igt_require((intel_gen(devid) < 12) || IS_TIGERLAKE(devid) ||
> >> + IS_ROCKETLAKE(devid) || IS_ALDERLAKE_S(devid));
> > As I hinted on v1 let's just do this here:
> >
> > igt_require(gem_has_guc_submission(i915));
> >
> > So that we can can have a single unified way of detecting if GuC is being
> > used throughout IGT. Today it is gem_has_guc_submission() and it works with
> > the current kernel.
>
> Earlier, you were saying that 'has' was only checking for capability not
> usage. Which would be pretty useless for this situation. Looking at the
> code, though it sort of does work. It checks the live value of the
> enable_guc module parameter. If that says that GuC submission is enabled
> then either we are using GuC submission or we have no engines (because a
> failure to start the submission backend is terminal, there is no fallback
> to execlist mode if GuC didn't work). So it can be used.
>
> I say sort of, though, because the code also sets 'has_execlists' when it
> sets 'has_guc'. Which means that the gem_has_execlists() test is not
> useable as an indication that the execlist back end is being used. So
> gem_has_execlists() and gem_has_guc_submission() are basically very
> non-orthogonal. One is a test of hardware presence irrespective of use, the
> other is a test of usage irrespective of presence. The comment in the code
> is 'query whether the driver is using execlists as a hardware submission
> method'. So it seems like that was the original intention. Whether it has
> been broken since or was just broken from the beginning is unclear.
I completely agree, there is all this confusion in the code, it needs to be
cleaned up. For now I thought it was better to use a centralized way to
detect GuC rather than have different ways in different files. Fortunately
gem_has_guc_submission() is doing that though gem_has_execlists() is
broken in detecting if execlists are being used.
prev parent reply other threads:[~2021-10-15 22:51 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-14 19:42 [Intel-gfx] [PATCH v2 i-g-t] tests/i915: Skip gem_exec_fair on GuC based platforms John.C.Harrison
2021-10-15 14:52 ` [Intel-gfx] [igt-dev] " Dixit, Ashutosh
2021-10-15 21:46 ` John Harrison
2021-10-15 22:41 ` Dixit, Ashutosh [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a6j9di7d.wl-ashutosh.dixit@intel.com \
--to=ashutosh.dixit@intel.com \
--cc=IGT-Dev@Lists.FreeDesktop.Org \
--cc=Intel-GFX@Lists.FreeDesktop.Org \
--cc=john.c.harrison@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox