From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: "Michał Winiarski" <michal.winiarski@intel.com>
Cc: intel-gfx@lists.freedesktop.org, Anuj Phogat <anuj.phogat@intel.com>
Subject: Re: [PATCH 1/2] drm/i915/icl: Default to Thread Group preemption for compute workloads
Date: Thu, 28 Feb 2019 14:32:35 -0800 [thread overview]
Message-ID: <20190228223235.GE2189@intel.com> (raw)
In-Reply-To: <20190228190254.GC2189@intel.com>
On Thu, Feb 28, 2019 at 11:02:54AM -0800, Rodrigo Vivi wrote:
> On Wed, Feb 27, 2019 at 04:51:08PM +0100, Michał Winiarski wrote:
> > We assumed that the default preemption granularity is fine for ICL.
> > Unfortunately, it turns out that some drivers don't support mid-thread
> > preemption for compute workloads.
> > If a workload that doesn't support mid-thread preemption gets mid-thread
> > preempted, we're going to observe a GPU hang.
> > While I'm here, let's also update the "workaround" naming.
> >
> > Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
> > Cc: Anuj Phogat <anuj.phogat@intel.com>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > Cc: Matt Roper <matthew.d.roper@intel.com>
> > Cc: Rafael Antognolli <rafael.antognolli@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_workarounds.c | 9 +++++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_workarounds.c b/drivers/gpu/drm/i915/intel_workarounds.c
> > index 743cf5b00155..a19e1c0052a7 100644
> > --- a/drivers/gpu/drm/i915/intel_workarounds.c
> > +++ b/drivers/gpu/drm/i915/intel_workarounds.c
> > @@ -555,6 +555,11 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine)
> > GEN10_CACHE_MODE_SS,
> > 0, /* write-only, so skip validation */
> > _MASKED_BIT_ENABLE(FLOAT_BLEND_OPTIMIZATION_ENABLE));
> > +
> > + /* WaDisableGPGPUMidThreadPreemption:icl */
>
> Could you please give me some internal pointers to this WA?
> I couldn't find it on bspec nor on wadb.
>
> > + WA_SET_FIELD_MASKED(GEN8_CS_CHICKEN1,
> > + GEN9_PREEMPT_GPGPU_LEVEL_MASK,
> > + GEN9_PREEMPT_GPGPU_THREAD_GROUP_LEVEL);
> > }
> >
> > void intel_engine_init_ctx_wa(struct intel_engine_cs *engine)
> > @@ -1170,8 +1175,8 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal)
> > GEN7_DISABLE_SAMPLER_PREFETCH);
> > }
> >
> > - if (IS_GEN(i915, 9) || IS_CANNONLAKE(i915)) {
> > - /* WaEnablePreemptionGranularityControlByUMD:skl,bxt,kbl,cfl,cnl */
>
> Please don't remove the old name that is still part of old
> references. If we have a new name for ICL+ please keep both
> here on the comments.
I'm sorry for my delayed response on irc, I hope you that answer
came in time to avoid your rework.
I just noticed that this name for gen9/10 platforsm is already inside
gen9_whitelist_build() and that on next patch you re-introduce the icl
one...
Also thanks for all the explanations. I checked bits with spec
and everything makes sense now, so:
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(What I' wondering now is that how this behaviour can change with GuC...
I heard some media folks were using i915 directly and facing some
strange gpu hangs but no gpu hang when using guc submission...)
>
>
> > + if (IS_GEN_RANGE(i915, 9, 11)) {
> > + /* FtrPerCtxtPreemptionGranularityControl:skl,bxt,kbl,cfl,cnl,icl */
>
> also please give me a pointer to this...
>
> Thanks,
> Rodrigo.
>
> > wa_masked_en(wal,
> > GEN7_FF_SLICE_CS_CHICKEN1,
> > GEN9_FFSC_PERCTX_PREEMPT_CTRL);
> > --
> > 2.20.1
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2019-02-28 22:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-27 15:51 [PATCH 1/2] drm/i915/icl: Default to Thread Group preemption for compute workloads Michał Winiarski
2019-02-27 15:51 ` [PATCH 2/2] drm/i915/icl: Apply WaEnablePreemptionGranularityControlByUMD Michał Winiarski
2019-02-27 15:59 ` Chris Wilson
2019-02-27 16:03 ` Chris Wilson
2019-02-27 17:09 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/icl: Default to Thread Group preemption for compute workloads Patchwork
2019-02-27 19:02 ` ✗ Fi.CI.IGT: failure " Patchwork
2019-02-27 22:26 ` [PATCH 1/2] " Anuj Phogat
2019-02-28 19:02 ` Rodrigo Vivi
2019-02-28 22:32 ` Rodrigo Vivi [this message]
2019-02-28 22:43 ` Chris Wilson
-- strict thread matches above, loose matches on Subject: below --
2019-03-05 12:48 Michał Winiarski
2019-03-05 17:30 ` Rafael Antognolli
2019-03-05 19:10 ` Chris Wilson
2019-03-06 11:20 ` Joonas Lahtinen
2019-03-05 17:37 ` Anuj Phogat
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=20190228223235.GE2189@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=anuj.phogat@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=michal.winiarski@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.