All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs
@ 2018-09-10 13:08 Chris Wilson
  2018-09-10 15:50 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Chris Wilson @ 2018-09-10 13:08 UTC (permalink / raw)
  To: intel-gfx

Baytrail takes a little more convincing that it needs to actually reload
its Page Directoy (ppGTT) before the context switch, so repeat it until
it gets the message. Once again the arbitrary values here are
empirically derived.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107861
Testcase: igt/gem_exec_parallel/fds
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_ringbuffer.c | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 472939f5c18f..d0ef50bf930a 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1677,9 +1677,26 @@ static int switch_context(struct i915_request *rq)
 	GEM_BUG_ON(HAS_EXECLISTS(rq->i915));
 
 	if (ppgtt) {
-		ret = load_pd_dir(rq, ppgtt);
-		if (ret)
-			goto err;
+		int loops;
+
+		/*
+		 * Baytail takes a little more convincing that it really needs
+		 * to reload the PD between contexts. It is not just a little
+		 * longer, as adding more stalls after the load_pd_dir (i.e.
+		 * adding a long loop around flush_pd_dir) is not as effective
+		 * as reloading the PD umpteen times. 32 is derived from
+		 * experimentation (gem_exec_parallel/fds) and has no good
+		 * explanation.
+		 */
+		loops = 1;
+		if (engine->id == BCS && IS_VALLEYVIEW(engine->i915))
+			loops = 32;
+
+		do {
+			ret = load_pd_dir(rq, ppgtt);
+			if (ret)
+				goto err;
+		} while (--loops);
 
 		if (intel_engine_flag(engine) & ppgtt->pd_dirty_rings) {
 			unwind_mm = intel_engine_flag(engine);
-- 
2.19.0.rc2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915/ringbuffer: Reload PDs harder on byt/bcs
  2018-09-10 13:08 [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs Chris Wilson
@ 2018-09-10 15:50 ` Patchwork
  2018-09-10 17:04 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-09-10 15:50 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/ringbuffer: Reload PDs harder on byt/bcs
URL   : https://patchwork.freedesktop.org/series/49429/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4792 -> Patchwork_10135 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/49429/revisions/1/mbox/

== Known issues ==

  Here are the changes found in Patchwork_10135 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_selftest@live_guc:
      fi-cfl-guc:         PASS -> DMESG-WARN (fdo#107258)

    igt@kms_pipe_crc_basic@read-crc-pipe-b:
      fi-byt-clapper:     PASS -> FAIL (fdo#107362)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
      fi-bxt-dsi:         PASS -> INCOMPLETE (fdo#103927)

    
    ==== Possible fixes ====

    igt@drv_selftest@live_hangcheck:
      fi-skl-guc:         FAIL (fdo#107837) -> PASS

    igt@gem_exec_suspend@basic-s3:
      fi-blb-e6850:       INCOMPLETE (fdo#107718) -> PASS

    
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#107258 https://bugs.freedesktop.org/show_bug.cgi?id=107258
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107837 https://bugs.freedesktop.org/show_bug.cgi?id=107837


== Participating hosts (52 -> 46) ==

  Missing    (6): fi-hsw-4770r fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

    * Linux: CI_DRM_4792 -> Patchwork_10135

  CI_DRM_4792: e1d007eb6fbfa346237b7b3a62625e50b3070c71 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4637: 57e3d826dee154cb8664667db7660d854a707fc6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10135: 3fbcc7f73ddc58e486af5211d4ea6be18aacf9c3 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

3fbcc7f73ddc drm/i915/ringbuffer: Reload PDs harder on byt/bcs

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10135/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✓ Fi.CI.IGT: success for drm/i915/ringbuffer: Reload PDs harder on byt/bcs
  2018-09-10 13:08 [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs Chris Wilson
  2018-09-10 15:50 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-09-10 17:04 ` Patchwork
  2018-09-11  7:43 ` [PATCH] " Chris Wilson
  2018-09-12  9:49 ` Chris Wilson
  3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-09-10 17:04 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/ringbuffer: Reload PDs harder on byt/bcs
URL   : https://patchwork.freedesktop.org/series/49429/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4792_full -> Patchwork_10135_full =

== Summary - SUCCESS ==

  No regressions found.

  

== Known issues ==

  Here are the changes found in Patchwork_10135_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_big:
      shard-hsw:          PASS -> INCOMPLETE (fdo#103540)

    igt@kms_flip@flip-vs-expired-vblank-interruptible:
      shard-glk:          PASS -> FAIL (fdo#105363)

    igt@kms_setmode@basic:
      shard-kbl:          PASS -> FAIL (fdo#99912)

    
    ==== Possible fixes ====

    igt@perf@blocking:
      shard-hsw:          FAIL -> PASS

    
  fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4792 -> Patchwork_10135

  CI_DRM_4792: e1d007eb6fbfa346237b7b3a62625e50b3070c71 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4637: 57e3d826dee154cb8664667db7660d854a707fc6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10135: 3fbcc7f73ddc58e486af5211d4ea6be18aacf9c3 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10135/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs
  2018-09-10 13:08 [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs Chris Wilson
  2018-09-10 15:50 ` ✓ Fi.CI.BAT: success for " Patchwork
  2018-09-10 17:04 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-09-11  7:43 ` Chris Wilson
  2018-09-12  7:40   ` Chris Wilson
  2018-09-12  9:49 ` Chris Wilson
  3 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2018-09-11  7:43 UTC (permalink / raw)
  To: intel-gfx

Quoting Chris Wilson (2018-09-10 14:08:08)
> Baytrail takes a little more convincing that it needs to actually reload
> its Page Directoy (ppGTT) before the context switch, so repeat it until
> it gets the message. Once again the arbitrary values here are
> empirically derived.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107861
> Testcase: igt/gem_exec_parallel/fds
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

On drm-tip, this testcase fails within 15 iterations (30s). It has now
survived 24 hours. I think it've proved itself against this one testcase
and deserves a shot at the rest.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs
  2018-09-11  7:43 ` [PATCH] " Chris Wilson
@ 2018-09-12  7:40   ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-09-12  7:40 UTC (permalink / raw)
  To: intel-gfx

Quoting Chris Wilson (2018-09-11 08:43:32)
> Quoting Chris Wilson (2018-09-10 14:08:08)
> > Baytrail takes a little more convincing that it needs to actually reload
> > its Page Directoy (ppGTT) before the context switch, so repeat it until
> > it gets the message. Once again the arbitrary values here are
> > empirically derived.
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107861
> > Testcase: igt/gem_exec_parallel/fds
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> 
> On drm-tip, this testcase fails within 15 iterations (30s). It has now
> survived 24 hours. I think it've proved itself against this one testcase
> and deserves a shot at the rest.

48 hours. Please kindly ack.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs
  2018-09-10 13:08 [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs Chris Wilson
                   ` (2 preceding siblings ...)
  2018-09-11  7:43 ` [PATCH] " Chris Wilson
@ 2018-09-12  9:49 ` Chris Wilson
  3 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-09-12  9:49 UTC (permalink / raw)
  To: intel-gfx

Quoting Chris Wilson (2018-09-10 14:08:08)
> Baytrail takes a little more convincing that it needs to actually reload
> its Page Directoy (ppGTT) before the context switch, so repeat it until
> it gets the message. Once again the arbitrary values here are
> empirically derived.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107861
> Testcase: igt/gem_exec_parallel/fds
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

From another thread,

Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

Ta,
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-09-12  9:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-10 13:08 [PATCH] drm/i915/ringbuffer: Reload PDs harder on byt/bcs Chris Wilson
2018-09-10 15:50 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-09-10 17:04 ` ✓ Fi.CI.IGT: " Patchwork
2018-09-11  7:43 ` [PATCH] " Chris Wilson
2018-09-12  7:40   ` Chris Wilson
2018-09-12  9:49 ` Chris Wilson

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.