* [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
@ 2018-01-20 9:31 Chris Wilson
2018-01-20 9:31 ` [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission Chris Wilson
` (7 more replies)
0 siblings, 8 replies; 18+ messages in thread
From: Chris Wilson @ 2018-01-20 9:31 UTC (permalink / raw)
To: intel-gfx
On gen9+, after an idle period the HW will disable the entire power well
to conserve power (by preventing current leakage). It takes around a 100
microseconds to bring the power well back online afterwards. With the
current hysteresis value of 25us, we do not have sufficient time to
respond to an interrupt and schedule the next execution before the HW
powers itself down. (At present, we prevent this by grabbing the
forcewake for prolonged periods of time, but that is overkill fixed in
the next patch.) The minimum we want to set the power gating hysteresis
to is the length of time it takes us to service the GPU, which across a
broad spectrum of machines is about 250us.
(Note this also brings guc latency into the same ballpark as execlists.)
Testcase: igt/gem_exec_nop/sequential
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Michal Winiarski <michal.winiarski@intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 1db79a860b96..6748d3efb537 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -6627,8 +6627,8 @@ static void gen9_enable_rc6(struct drm_i915_private *dev_priv)
I915_WRITE(GEN6_RC_SLEEP, 0);
/* 2c: Program Coarse Power Gating Policies. */
- I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 25);
- I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 25);
+ I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 250);
+ I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 250);
/* 3a: Enable RC6 */
I915_WRITE(GEN6_RC6_THRESHOLD, 37500); /* 37.5/125ms per EI */
--
2.15.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
@ 2018-01-20 9:31 ` Chris Wilson
2018-01-22 9:50 ` Tvrtko Ursulin
2018-01-20 10:02 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Patchwork
` (6 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Chris Wilson @ 2018-01-20 9:31 UTC (permalink / raw)
To: intel-gfx
Now that we can read the CSB from the HWSP, we may avoid having to
perform mmio reads entirely and so forgo the rigmarole of the forcewake
dance.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/intel_lrc.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index ff25f209d0a5..7d2df72e68d3 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -778,6 +778,7 @@ static void execlists_submission_tasklet(unsigned long data)
struct intel_engine_execlists * const execlists = &engine->execlists;
struct execlist_port * const port = execlists->port;
struct drm_i915_private *dev_priv = engine->i915;
+ bool fw = false;
/* We can skip acquiring intel_runtime_pm_get() here as it was taken
* on our behalf by the request (see i915_gem_mark_busy()) and it will
@@ -788,8 +789,6 @@ static void execlists_submission_tasklet(unsigned long data)
*/
GEM_BUG_ON(!dev_priv->gt.awake);
- intel_uncore_forcewake_get(dev_priv, execlists->fw_domains);
-
/* Prefer doing test_and_clear_bit() as a two stage operation to avoid
* imposing the cost of a locked atomic transaction when submitting a
* new request (outside of the context-switch interrupt).
@@ -818,6 +817,12 @@ static void execlists_submission_tasklet(unsigned long data)
*/
__clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
if (unlikely(execlists->csb_head == -1)) { /* following a reset */
+ if (!fw) {
+ intel_uncore_forcewake_get(dev_priv,
+ execlists->fw_domains);
+ fw = true;
+ }
+
head = readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)));
tail = GEN8_CSB_WRITE_PTR(head);
head = GEN8_CSB_READ_PTR(head);
@@ -943,7 +948,8 @@ static void execlists_submission_tasklet(unsigned long data)
if (!execlists_is_active(execlists, EXECLISTS_ACTIVE_PREEMPT))
execlists_dequeue(engine);
- intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
+ if (fw)
+ intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
}
static void insert_request(struct intel_engine_cs *engine,
--
2.15.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 18+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
2018-01-20 9:31 ` [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission Chris Wilson
@ 2018-01-20 10:02 ` Patchwork
2018-01-20 13:50 ` ✗ Fi.CI.IGT: failure " Patchwork
` (5 subsequent siblings)
7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2018-01-20 10:02 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
URL : https://patchwork.freedesktop.org/series/36842/
State : success
== Summary ==
Series 36842v1 series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
https://patchwork.freedesktop.org/api/1.0/series/36842/revisions/1/mbox/
Test debugfs_test:
Subgroup read_all_entries:
pass -> DMESG-WARN (fi-elk-e7500) fdo#103989 +1
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
incomplete -> PASS (fi-snb-2520m) fdo#103713
fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:433s
fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:436s
fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:384s
fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:515s
fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:293s
fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:503s
fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:500s
fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:493s
fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:481s
fi-elk-e7500 total:224 pass:168 dwarn:10 dfail:0 fail:0 skip:45
fi-gdg-551 total:288 pass:179 dwarn:0 dfail:0 fail:1 skip:108 time:305s
fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:525s
fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:396s
fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:408s
fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:420s
fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:467s
fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:422s
fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:464s
fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:501s
fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:461s
fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:507s
fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:635s
fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:440s
fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:523s
fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:532s
fi-skl-6700k2 total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:497s
fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:498s
fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:439s
fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:543s
fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:405s
Blacklisted hosts:
fi-cfl-s2 total:288 pass:256 dwarn:0 dfail:0 fail:3 skip:26 time:568s
fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:485s
fi-skl-guc total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:420s
c2ce7a59fe93cae48eec312bb5a80bcd05455f76 drm-tip: 2018y-01m-20d-00h-46m-27s UTC integration manifest
b6a6cf5f48d0 drm/i915/execlists: Skip forcewake for ELSP submission
0bf3b1894f89 drm/i915: Increase render/media power gating hysteresis for gen9+
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7731/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
2018-01-20 9:31 ` [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission Chris Wilson
2018-01-20 10:02 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Patchwork
@ 2018-01-20 13:50 ` Patchwork
2018-01-21 11:01 ` [PATCH 1/2] " Sagar Arun Kamble
` (4 subsequent siblings)
7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2018-01-20 13:50 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
URL : https://patchwork.freedesktop.org/series/36842/
State : failure
== Summary ==
Warning: bzip CI_DRM_3664/shard-glkb6/results28.json.bz2 wasn't in correct JSON format
Test drv_suspend:
Subgroup debugfs-reader:
skip -> PASS (shard-hsw)
Test kms_frontbuffer_tracking:
Subgroup fbc-1p-offscren-pri-shrfb-draw-render:
pass -> FAIL (shard-snb) fdo#101623
Test kms_flip:
Subgroup flip-vs-modeset-vs-hang-interruptible:
pass -> DMESG-WARN (shard-snb) fdo#104311
Subgroup 2x-wf_vblank-ts-check:
fail -> PASS (shard-hsw)
Test pm_rc6_residency:
Subgroup rc6-accuracy:
skip -> PASS (shard-snb)
Test gem_cpu_reloc:
Subgroup full:
pass -> INCOMPLETE (shard-hsw)
Test kms_cursor_crc:
Subgroup cursor-128x128-suspend:
pass -> INCOMPLETE (shard-hsw) fdo#103540
Test gem_eio:
Subgroup in-flight:
dmesg-warn -> PASS (shard-snb) fdo#104058
fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623
fdo#104311 https://bugs.freedesktop.org/show_bug.cgi?id=104311
fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058
shard-apl total:2780 pass:1716 dwarn:1 dfail:0 fail:23 skip:1040 time:14599s
shard-hsw total:2712 pass:1680 dwarn:1 dfail:0 fail:11 skip:1017 time:14384s
shard-snb total:2780 pass:1315 dwarn:2 dfail:0 fail:14 skip:1449 time:8080s
Blacklisted hosts:
shard-kbl total:2762 pass:1804 dwarn:19 dfail:1 fail:25 skip:912 time:10579s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7731/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
` (2 preceding siblings ...)
2018-01-20 13:50 ` ✗ Fi.CI.IGT: failure " Patchwork
@ 2018-01-21 11:01 ` Sagar Arun Kamble
2018-01-21 12:25 ` Chris Wilson
2018-01-22 10:29 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev2) Patchwork
` (3 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Sagar Arun Kamble @ 2018-01-21 11:01 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On 1/20/2018 3:01 PM, Chris Wilson wrote:
> On gen9+, after an idle period the HW will disable the entire power well
> to conserve power (by preventing current leakage). It takes around a 100
> microseconds to bring the power well back online afterwards. With the
> current hysteresis value of 25us, we do not have sufficient time to
> respond to an interrupt and schedule the next execution before the HW
> powers itself down. (At present, we prevent this by grabbing the
> forcewake for prolonged periods of time, but that is overkill fixed in
> the next patch.) The minimum we want to set the power gating hysteresis
> to is the length of time it takes us to service the GPU, which across a
> broad spectrum of machines is about 250us.
>
> (Note this also brings guc latency into the same ballpark as execlists.)
>
> Testcase: igt/gem_exec_nop/sequential
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
> Cc: Michel Thierry <michel.thierry@intel.com>
> Cc: Michal Winiarski <michal.winiarski@intel.com>
> ---
> drivers/gpu/drm/i915/intel_pm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 1db79a860b96..6748d3efb537 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -6627,8 +6627,8 @@ static void gen9_enable_rc6(struct drm_i915_private *dev_priv)
> I915_WRITE(GEN6_RC_SLEEP, 0);
>
> /* 2c: Program Coarse Power Gating Policies. */
> - I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 25);
> - I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 25);
> + I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 250);
> + I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 250);
As per bspec this is in 1.28usec units so it should be 195.
With that:
Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
>
> /* 3a: Enable RC6 */
> I915_WRITE(GEN6_RC6_THRESHOLD, 37500); /* 37.5/125ms per EI */
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
2018-01-21 11:01 ` [PATCH 1/2] " Sagar Arun Kamble
@ 2018-01-21 12:25 ` Chris Wilson
2018-01-22 7:04 ` Sagar Arun Kamble
0 siblings, 1 reply; 18+ messages in thread
From: Chris Wilson @ 2018-01-21 12:25 UTC (permalink / raw)
To: Sagar Arun Kamble, intel-gfx
Quoting Sagar Arun Kamble (2018-01-21 11:01:23)
>
>
> On 1/20/2018 3:01 PM, Chris Wilson wrote:
> > On gen9+, after an idle period the HW will disable the entire power well
> > to conserve power (by preventing current leakage). It takes around a 100
> > microseconds to bring the power well back online afterwards. With the
> > current hysteresis value of 25us, we do not have sufficient time to
> > respond to an interrupt and schedule the next execution before the HW
> > powers itself down. (At present, we prevent this by grabbing the
> > forcewake for prolonged periods of time, but that is overkill fixed in
> > the next patch.) The minimum we want to set the power gating hysteresis
> > to is the length of time it takes us to service the GPU, which across a
> > broad spectrum of machines is about 250us.
> >
> > (Note this also brings guc latency into the same ballpark as execlists.)
> >
> > Testcase: igt/gem_exec_nop/sequential
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
> > Cc: Michel Thierry <michel.thierry@intel.com>
> > Cc: Michal Winiarski <michal.winiarski@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_pm.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > index 1db79a860b96..6748d3efb537 100644
> > --- a/drivers/gpu/drm/i915/intel_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > @@ -6627,8 +6627,8 @@ static void gen9_enable_rc6(struct drm_i915_private *dev_priv)
> > I915_WRITE(GEN6_RC_SLEEP, 0);
> >
> > /* 2c: Program Coarse Power Gating Policies. */
> > - I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 25);
> > - I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 25);
> > + I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 250);
> > + I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 250);
> As per bspec this is in 1.28usec units so it should be 195.
Both numbers pulled out of the air, just read us above as approx.us.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
2018-01-21 12:25 ` Chris Wilson
@ 2018-01-22 7:04 ` Sagar Arun Kamble
0 siblings, 0 replies; 18+ messages in thread
From: Sagar Arun Kamble @ 2018-01-22 7:04 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On 1/21/2018 5:55 PM, Chris Wilson wrote:
> Quoting Sagar Arun Kamble (2018-01-21 11:01:23)
>>
>> On 1/20/2018 3:01 PM, Chris Wilson wrote:
>>> On gen9+, after an idle period the HW will disable the entire power well
>>> to conserve power (by preventing current leakage). It takes around a 100
>>> microseconds to bring the power well back online afterwards. With the
>>> current hysteresis value of 25us, we do not have sufficient time to
>>> respond to an interrupt and schedule the next execution before the HW
>>> powers itself down. (At present, we prevent this by grabbing the
>>> forcewake for prolonged periods of time, but that is overkill fixed in
>>> the next patch.) The minimum we want to set the power gating hysteresis
>>> to is the length of time it takes us to service the GPU, which across a
>>> broad spectrum of machines is about 250us.
>>>
>>> (Note this also brings guc latency into the same ballpark as execlists.)
>>>
>>> Testcase: igt/gem_exec_nop/sequential
>>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>>> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>> Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
>>> Cc: Michel Thierry <michel.thierry@intel.com>
>>> Cc: Michal Winiarski <michal.winiarski@intel.com>
Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_pm.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
>>> index 1db79a860b96..6748d3efb537 100644
>>> --- a/drivers/gpu/drm/i915/intel_pm.c
>>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>>> @@ -6627,8 +6627,8 @@ static void gen9_enable_rc6(struct drm_i915_private *dev_priv)
>>> I915_WRITE(GEN6_RC_SLEEP, 0);
>>>
>>> /* 2c: Program Coarse Power Gating Policies. */
>>> - I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 25);
>>> - I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 25);
>>> + I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 250);
>>> + I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 250);
>> As per bspec this is in 1.28usec units so it should be 195.
> Both numbers pulled out of the air, just read us above as approx.us.
ok ... Interestingly spec too says 25us and also say that it is actually
32us :)
> -Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission
2018-01-20 9:31 ` [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission Chris Wilson
@ 2018-01-22 9:50 ` Tvrtko Ursulin
2018-01-22 9:53 ` Chris Wilson
2018-01-22 10:07 ` [PATCH v2] " Chris Wilson
0 siblings, 2 replies; 18+ messages in thread
From: Tvrtko Ursulin @ 2018-01-22 9:50 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On 20/01/2018 09:31, Chris Wilson wrote:
> Now that we can read the CSB from the HWSP, we may avoid having to
> perform mmio reads entirely and so forgo the rigmarole of the forcewake
> dance.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/intel_lrc.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index ff25f209d0a5..7d2df72e68d3 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -778,6 +778,7 @@ static void execlists_submission_tasklet(unsigned long data)
> struct intel_engine_execlists * const execlists = &engine->execlists;
> struct execlist_port * const port = execlists->port;
> struct drm_i915_private *dev_priv = engine->i915;
> + bool fw = false;
>
> /* We can skip acquiring intel_runtime_pm_get() here as it was taken
> * on our behalf by the request (see i915_gem_mark_busy()) and it will
> @@ -788,8 +789,6 @@ static void execlists_submission_tasklet(unsigned long data)
> */
> GEM_BUG_ON(!dev_priv->gt.awake);
>
> - intel_uncore_forcewake_get(dev_priv, execlists->fw_domains);
> -
> /* Prefer doing test_and_clear_bit() as a two stage operation to avoid
> * imposing the cost of a locked atomic transaction when submitting a
> * new request (outside of the context-switch interrupt).
> @@ -818,6 +817,12 @@ static void execlists_submission_tasklet(unsigned long data)
> */
> __clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
> if (unlikely(execlists->csb_head == -1)) { /* following a reset */
> + if (!fw) {
> + intel_uncore_forcewake_get(dev_priv,
> + execlists->fw_domains);
> + fw = true;
> + }
> +
> head = readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)));
> tail = GEN8_CSB_WRITE_PTR(head);
> head = GEN8_CSB_READ_PTR(head);
There's a GEM_TRACE which does a readl a line below, outside the if.
Then there's a writel down lower, under "if (head != execlists->csb_head)".
> @@ -943,7 +948,8 @@ static void execlists_submission_tasklet(unsigned long data)
> if (!execlists_is_active(execlists, EXECLISTS_ACTIVE_PREEMPT))
> execlists_dequeue(engine);
>
> - intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
> + if (fw)
> + intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
> }
>
> static void insert_request(struct intel_engine_cs *engine,
>
I had a similar patch, which also did some other tweaks, some of which I
think you recently also sent. So I support it in principle.
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission
2018-01-22 9:50 ` Tvrtko Ursulin
@ 2018-01-22 9:53 ` Chris Wilson
2018-01-22 10:07 ` [PATCH v2] " Chris Wilson
1 sibling, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2018-01-22 9:53 UTC (permalink / raw)
To: Tvrtko Ursulin, intel-gfx
Quoting Tvrtko Ursulin (2018-01-22 09:50:57)
>
> On 20/01/2018 09:31, Chris Wilson wrote:
> > Now that we can read the CSB from the HWSP, we may avoid having to
> > perform mmio reads entirely and so forgo the rigmarole of the forcewake
> > dance.
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> > drivers/gpu/drm/i915/intel_lrc.c | 12 +++++++++---
> > 1 file changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> > index ff25f209d0a5..7d2df72e68d3 100644
> > --- a/drivers/gpu/drm/i915/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/intel_lrc.c
> > @@ -778,6 +778,7 @@ static void execlists_submission_tasklet(unsigned long data)
> > struct intel_engine_execlists * const execlists = &engine->execlists;
> > struct execlist_port * const port = execlists->port;
> > struct drm_i915_private *dev_priv = engine->i915;
> > + bool fw = false;
> >
> > /* We can skip acquiring intel_runtime_pm_get() here as it was taken
> > * on our behalf by the request (see i915_gem_mark_busy()) and it will
> > @@ -788,8 +789,6 @@ static void execlists_submission_tasklet(unsigned long data)
> > */
> > GEM_BUG_ON(!dev_priv->gt.awake);
> >
> > - intel_uncore_forcewake_get(dev_priv, execlists->fw_domains);
> > -
> > /* Prefer doing test_and_clear_bit() as a two stage operation to avoid
> > * imposing the cost of a locked atomic transaction when submitting a
> > * new request (outside of the context-switch interrupt).
> > @@ -818,6 +817,12 @@ static void execlists_submission_tasklet(unsigned long data)
> > */
> > __clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
> > if (unlikely(execlists->csb_head == -1)) { /* following a reset */
> > + if (!fw) {
> > + intel_uncore_forcewake_get(dev_priv,
> > + execlists->fw_domains);
> > + fw = true;
> > + }
> > +
> > head = readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)));
> > tail = GEN8_CSB_WRITE_PTR(head);
> > head = GEN8_CSB_READ_PTR(head);
>
> There's a GEM_TRACE which does a readl a line below, outside the if.
Yeah, I didn't care too much about it. Maybe if we include fw into the
trace so we know whether to believe it or not.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2] drm/i915/execlists: Skip forcewake for ELSP submission
2018-01-22 9:50 ` Tvrtko Ursulin
2018-01-22 9:53 ` Chris Wilson
@ 2018-01-22 10:07 ` Chris Wilson
2018-01-22 16:59 ` Tvrtko Ursulin
1 sibling, 1 reply; 18+ messages in thread
From: Chris Wilson @ 2018-01-22 10:07 UTC (permalink / raw)
To: intel-gfx
Now that we can read the CSB from the HWSP, we may avoid having to
perform mmio reads entirely and so forgo the rigmarole of the forcewake
dance.
v2: Include forcewake hint for GEM_TRACE readback of mmio. If we don't
hold fw ourselves, the reads may return garbage.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
drivers/gpu/drm/i915/intel_lrc.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index ff25f209d0a5..075e7f56e9ba 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -778,6 +778,7 @@ static void execlists_submission_tasklet(unsigned long data)
struct intel_engine_execlists * const execlists = &engine->execlists;
struct execlist_port * const port = execlists->port;
struct drm_i915_private *dev_priv = engine->i915;
+ bool fw = false;
/* We can skip acquiring intel_runtime_pm_get() here as it was taken
* on our behalf by the request (see i915_gem_mark_busy()) and it will
@@ -788,8 +789,6 @@ static void execlists_submission_tasklet(unsigned long data)
*/
GEM_BUG_ON(!dev_priv->gt.awake);
- intel_uncore_forcewake_get(dev_priv, execlists->fw_domains);
-
/* Prefer doing test_and_clear_bit() as a two stage operation to avoid
* imposing the cost of a locked atomic transaction when submitting a
* new request (outside of the context-switch interrupt).
@@ -818,6 +817,12 @@ static void execlists_submission_tasklet(unsigned long data)
*/
__clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
if (unlikely(execlists->csb_head == -1)) { /* following a reset */
+ if (!fw) {
+ intel_uncore_forcewake_get(dev_priv,
+ execlists->fw_domains);
+ fw = true;
+ }
+
head = readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)));
tail = GEN8_CSB_WRITE_PTR(head);
head = GEN8_CSB_READ_PTR(head);
@@ -830,10 +835,10 @@ static void execlists_submission_tasklet(unsigned long data)
head = execlists->csb_head;
tail = READ_ONCE(buf[write_idx]);
}
- GEM_TRACE("%s cs-irq head=%d [%d], tail=%d [%d]\n",
+ GEM_TRACE("%s cs-irq head=%d [%d%s], tail=%d [%d%s]\n",
engine->name,
- head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))),
- tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))));
+ head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?",
+ tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?");
while (head != tail) {
struct drm_i915_gem_request *rq;
@@ -943,7 +948,8 @@ static void execlists_submission_tasklet(unsigned long data)
if (!execlists_is_active(execlists, EXECLISTS_ACTIVE_PREEMPT))
execlists_dequeue(engine);
- intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
+ if (fw)
+ intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
}
static void insert_request(struct intel_engine_cs *engine,
--
2.15.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 18+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev2)
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
` (3 preceding siblings ...)
2018-01-21 11:01 ` [PATCH 1/2] " Sagar Arun Kamble
@ 2018-01-22 10:29 ` Patchwork
2018-01-22 13:55 ` [PATCH v2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
` (2 subsequent siblings)
7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2018-01-22 10:29 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev2)
URL : https://patchwork.freedesktop.org/series/36842/
State : success
== Summary ==
Series 36842v2 series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+
https://patchwork.freedesktop.org/api/1.0/series/36842/revisions/2/mbox/
Test gem_ringfill:
Subgroup basic-default:
skip -> PASS (fi-bsw-n3050)
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
incomplete -> PASS (fi-snb-2520m) fdo#103713
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:428s
fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:435s
fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:382s
fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:519s
fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:293s
fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:503s
fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:503s
fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:507s
fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:481s
fi-elk-e7500 total:224 pass:168 dwarn:10 dfail:0 fail:0 skip:45
fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:527s
fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:406s
fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:423s
fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:474s
fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:426s
fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:464s
fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:506s
fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:472s
fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:510s
fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:642s
fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:437s
fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:525s
fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:535s
fi-skl-6700k2 total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:491s
fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:481s
fi-skl-guc total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:423s
fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:442s
fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:539s
fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:409s
Blacklisted hosts:
fi-cfl-s2 total:288 pass:256 dwarn:0 dfail:0 fail:3 skip:26 time:567s
fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:486s
fi-hsw-4770 failed to connect after reboot
a1f34f9415a41d5a4d219bcbbe5cf39a0b07cc22 drm-tip: 2018y-01m-20d-19h-27m-32s UTC integration manifest
83fbad82bcdf drm/i915/execlists: Skip forcewake for ELSP submission
4b9a27fe28dd drm/i915: Increase render/media power gating hysteresis for gen9+
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7736/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2] drm/i915: Increase render/media power gating hysteresis for gen9+
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
` (4 preceding siblings ...)
2018-01-22 10:29 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev2) Patchwork
@ 2018-01-22 13:55 ` Chris Wilson
2018-01-22 14:15 ` ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3) Patchwork
2018-01-22 21:26 ` ✓ Fi.CI.IGT: " Patchwork
7 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2018-01-22 13:55 UTC (permalink / raw)
To: intel-gfx
On gen9+, after an idle period the HW will disable the entire power well
to conserve power (by preventing current leakage). It takes around a 100
microseconds to bring the power well back online afterwards. With the
current hysteresis value of 25us (really 25 * 1280ns), we do not have
sufficient time to respond to an interrupt and schedule the next execution
before the HW powers itself down. (At present, we prevent this by
grabbing the forcewake for prolonged periods of time, but that overkill
fixed in the next patch.) The minimum we want to set the power gating
hysteresis to is the length of time it takes us to service the GPU, which
across a broad spectrum of machines is about 250us.
(Note this also brings guc latency into the same ballpark as execlists.)
v2: Include some notes on where I plucked the numbers from.
Testcase: igt/gem_exec_nop/sequential
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Michal Winiarski <michal.winiarski@intel.com>
Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 1db79a860b96..0b92ea1dbd40 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -6626,9 +6626,29 @@ static void gen9_enable_rc6(struct drm_i915_private *dev_priv)
I915_WRITE(GEN6_RC_SLEEP, 0);
- /* 2c: Program Coarse Power Gating Policies. */
- I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 25);
- I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 25);
+ /*
+ * 2c: Program Coarse Power Gating Policies.
+ *
+ * Bspec's guidance is to use 25us (really 25 * 1280ns) here. What we
+ * use instead is a more conservative estimate for the maximum time
+ * it takes us to service a CS interrupt and submit a new ELSP - that
+ * is the time which the GPU is idle waiting for the CPU to select the
+ * next request to execute. If the idle hysteresis is less than that
+ * interrupt service latency, the hardware will automatically gate
+ * the power well and we will then incur the wake up cost on top of
+ * the service latency. A similar guide from intel_pstate is that we
+ * do not want the enable hysteresis to less than the wakeup latency.
+ *
+ * igt/gem_exec_nop/sequential provides a rough estimate for the
+ * service latency, and puts it around 10us for Broadwell (and other
+ * big core) and around 40us for Broxton (and other low power cores).
+ * [Note that for legacy ringbuffer submission, this is less than 1us!]
+ * However, the wakeup latency on Broxton is closer to 100us. To be
+ * conservative, we have to factor in a context switch on top (due
+ * to ksoftirqd).
+ */
+ I915_WRITE(GEN9_MEDIA_PG_IDLE_HYSTERESIS, 250);
+ I915_WRITE(GEN9_RENDER_PG_IDLE_HYSTERESIS, 250);
/* 3a: Enable RC6 */
I915_WRITE(GEN6_RC6_THRESHOLD, 37500); /* 37.5/125ms per EI */
--
2.15.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 18+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3)
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
` (5 preceding siblings ...)
2018-01-22 13:55 ` [PATCH v2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
@ 2018-01-22 14:15 ` Patchwork
2018-01-22 21:26 ` ✓ Fi.CI.IGT: " Patchwork
7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2018-01-22 14:15 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3)
URL : https://patchwork.freedesktop.org/series/36842/
State : success
== Summary ==
Series 36842v3 series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+
https://patchwork.freedesktop.org/api/1.0/series/36842/revisions/3/mbox/
Test debugfs_test:
Subgroup read_all_entries:
pass -> INCOMPLETE (fi-snb-2520m) fdo#103713
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:428s
fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:435s
fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:386s
fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:520s
fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:294s
fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:500s
fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:505s
fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:499s
fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:489s
fi-elk-e7500 total:224 pass:168 dwarn:9 dfail:1 fail:0 skip:45
fi-gdg-551 total:288 pass:179 dwarn:0 dfail:0 fail:1 skip:108 time:309s
fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:528s
fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:398s
fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:407s
fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:425s
fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:471s
fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:422s
fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:464s
fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:510s
fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:462s
fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:510s
fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:631s
fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:441s
fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:522s
fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:539s
fi-skl-6700k2 total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:492s
fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:487s
fi-skl-guc total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:425s
fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:442s
fi-snb-2520m total:3 pass:2 dwarn:0 dfail:0 fail:0 skip:0
fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:411s
Blacklisted hosts:
fi-cfl-s2 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:578s
fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:487s
8748fd927893780fde7b782d41ed70d0fd1d388e drm-tip: 2018y-01m-22d-12h-23m-58s UTC integration manifest
63181736bea6 drm/i915/execlists: Skip forcewake for ELSP submission
918ce1a71b8f drm/i915: Increase render/media power gating hysteresis for gen9+
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7738/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2] drm/i915/execlists: Skip forcewake for ELSP submission
2018-01-22 10:07 ` [PATCH v2] " Chris Wilson
@ 2018-01-22 16:59 ` Tvrtko Ursulin
2018-01-22 17:17 ` Chris Wilson
0 siblings, 1 reply; 18+ messages in thread
From: Tvrtko Ursulin @ 2018-01-22 16:59 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On 22/01/2018 10:07, Chris Wilson wrote:
> Now that we can read the CSB from the HWSP, we may avoid having to
> perform mmio reads entirely and so forgo the rigmarole of the forcewake
> dance.
>
> v2: Include forcewake hint for GEM_TRACE readback of mmio. If we don't
> hold fw ourselves, the reads may return garbage.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
> drivers/gpu/drm/i915/intel_lrc.c | 18 ++++++++++++------
> 1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index ff25f209d0a5..075e7f56e9ba 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -778,6 +778,7 @@ static void execlists_submission_tasklet(unsigned long data)
> struct intel_engine_execlists * const execlists = &engine->execlists;
> struct execlist_port * const port = execlists->port;
> struct drm_i915_private *dev_priv = engine->i915;
> + bool fw = false;
>
> /* We can skip acquiring intel_runtime_pm_get() here as it was taken
> * on our behalf by the request (see i915_gem_mark_busy()) and it will
> @@ -788,8 +789,6 @@ static void execlists_submission_tasklet(unsigned long data)
> */
> GEM_BUG_ON(!dev_priv->gt.awake);
>
> - intel_uncore_forcewake_get(dev_priv, execlists->fw_domains);
> -
> /* Prefer doing test_and_clear_bit() as a two stage operation to avoid
> * imposing the cost of a locked atomic transaction when submitting a
> * new request (outside of the context-switch interrupt).
> @@ -818,6 +817,12 @@ static void execlists_submission_tasklet(unsigned long data)
> */
> __clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
> if (unlikely(execlists->csb_head == -1)) { /* following a reset */
> + if (!fw) {
> + intel_uncore_forcewake_get(dev_priv,
> + execlists->fw_domains);
> + fw = true;
> + }
> +
> head = readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)));
> tail = GEN8_CSB_WRITE_PTR(head);
> head = GEN8_CSB_READ_PTR(head);
> @@ -830,10 +835,10 @@ static void execlists_submission_tasklet(unsigned long data)
> head = execlists->csb_head;
> tail = READ_ONCE(buf[write_idx]);
> }
> - GEM_TRACE("%s cs-irq head=%d [%d], tail=%d [%d]\n",
> + GEM_TRACE("%s cs-irq head=%d [%d%s], tail=%d [%d%s]\n",
> engine->name,
> - head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))),
> - tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))));
> + head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?",
> + tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?");
Not useful to log the correct value in any case? Or in other words, this
trace is not useful for debugging potential problems with the HWSP CSB
copy, while with this change it stops being so?
>
> while (head != tail) {
> struct drm_i915_gem_request *rq;
> @@ -943,7 +948,8 @@ static void execlists_submission_tasklet(unsigned long data)
There is a writel a bit above which now has no fw in HWSP mode.
> if (!execlists_is_active(execlists, EXECLISTS_ACTIVE_PREEMPT))
> execlists_dequeue(engine); > - intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
> + if (fw)
> + intel_uncore_forcewake_put(dev_priv, execlists->fw_domains);
> }
>
> static void insert_request(struct intel_engine_cs *engine,
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2] drm/i915/execlists: Skip forcewake for ELSP submission
2018-01-22 16:59 ` Tvrtko Ursulin
@ 2018-01-22 17:17 ` Chris Wilson
2018-01-22 17:29 ` Tvrtko Ursulin
0 siblings, 1 reply; 18+ messages in thread
From: Chris Wilson @ 2018-01-22 17:17 UTC (permalink / raw)
To: Tvrtko Ursulin, intel-gfx
Quoting Tvrtko Ursulin (2018-01-22 16:59:21)
>
> On 22/01/2018 10:07, Chris Wilson wrote:
> > Now that we can read the CSB from the HWSP, we may avoid having to
> > perform mmio reads entirely and so forgo the rigmarole of the forcewake
> > dance.
> >
> > v2: Include forcewake hint for GEM_TRACE readback of mmio. If we don't
> > hold fw ourselves, the reads may return garbage.
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_lrc.c | 18 ++++++++++++------
> > 1 file changed, 12 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> > index ff25f209d0a5..075e7f56e9ba 100644
> > --- a/drivers/gpu/drm/i915/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/intel_lrc.c
> > @@ -778,6 +778,7 @@ static void execlists_submission_tasklet(unsigned long data)
> > struct intel_engine_execlists * const execlists = &engine->execlists;
> > struct execlist_port * const port = execlists->port;
> > struct drm_i915_private *dev_priv = engine->i915;
> > + bool fw = false;
> >
> > /* We can skip acquiring intel_runtime_pm_get() here as it was taken
> > * on our behalf by the request (see i915_gem_mark_busy()) and it will
> > @@ -788,8 +789,6 @@ static void execlists_submission_tasklet(unsigned long data)
> > */
> > GEM_BUG_ON(!dev_priv->gt.awake);
> >
> > - intel_uncore_forcewake_get(dev_priv, execlists->fw_domains);
> > -
> > /* Prefer doing test_and_clear_bit() as a two stage operation to avoid
> > * imposing the cost of a locked atomic transaction when submitting a
> > * new request (outside of the context-switch interrupt).
> > @@ -818,6 +817,12 @@ static void execlists_submission_tasklet(unsigned long data)
> > */
> > __clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
> > if (unlikely(execlists->csb_head == -1)) { /* following a reset */
> > + if (!fw) {
> > + intel_uncore_forcewake_get(dev_priv,
> > + execlists->fw_domains);
> > + fw = true;
> > + }
> > +
> > head = readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)));
> > tail = GEN8_CSB_WRITE_PTR(head);
> > head = GEN8_CSB_READ_PTR(head);
> > @@ -830,10 +835,10 @@ static void execlists_submission_tasklet(unsigned long data)
> > head = execlists->csb_head;
> > tail = READ_ONCE(buf[write_idx]);
> > }
> > - GEM_TRACE("%s cs-irq head=%d [%d], tail=%d [%d]\n",
> > + GEM_TRACE("%s cs-irq head=%d [%d%s], tail=%d [%d%s]\n",
> > engine->name,
> > - head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))),
> > - tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))));
> > + head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?",
> > + tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?");
>
> Not useful to log the correct value in any case? Or in other words, this
> trace is not useful for debugging potential problems with the HWSP CSB
> copy, while with this change it stops being so?
It also completely invalidates CI's testing as otherwise we will always
be forcewaking on submission. I am not shedding a tear over the loss of
that information on the occasions it is garbage - it too is likely to
cause heisenbugs and mask the very information we are trying to present
(in this case latency between HWSP write and CS interrupt).
> > while (head != tail) {
> > struct drm_i915_gem_request *rq;
> > @@ -943,7 +948,8 @@ static void execlists_submission_tasklet(unsigned long data)
>
> There is a writel a bit above which now has no fw in HWSP mode.
And it doesn't need one, afaict. There's no imposed wakeup (no forcewake)
and no latency, ergo the HW is pulling the right value immediate.
Otherwise the mostly idle submission of new requests would go entirely
unnoticed. (I've always had a wonder about why they would add RING_TAIL
to the shadow regs but not RING_ELSP.)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2] drm/i915/execlists: Skip forcewake for ELSP submission
2018-01-22 17:17 ` Chris Wilson
@ 2018-01-22 17:29 ` Tvrtko Ursulin
0 siblings, 0 replies; 18+ messages in thread
From: Tvrtko Ursulin @ 2018-01-22 17:29 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On 22/01/2018 17:17, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2018-01-22 16:59:21)
>>
>> On 22/01/2018 10:07, Chris Wilson wrote:
>>> Now that we can read the CSB from the HWSP, we may avoid having to
>>> perform mmio reads entirely and so forgo the rigmarole of the forcewake
>>> dance.
>>>
>>> v2: Include forcewake hint for GEM_TRACE readback of mmio. If we don't
>>> hold fw ourselves, the reads may return garbage.
>>>
>>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>>> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_lrc.c | 18 ++++++++++++------
>>> 1 file changed, 12 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
>>> index ff25f209d0a5..075e7f56e9ba 100644
>>> --- a/drivers/gpu/drm/i915/intel_lrc.c
>>> +++ b/drivers/gpu/drm/i915/intel_lrc.c
>>> @@ -778,6 +778,7 @@ static void execlists_submission_tasklet(unsigned long data)
>>> struct intel_engine_execlists * const execlists = &engine->execlists;
>>> struct execlist_port * const port = execlists->port;
>>> struct drm_i915_private *dev_priv = engine->i915;
>>> + bool fw = false;
>>>
>>> /* We can skip acquiring intel_runtime_pm_get() here as it was taken
>>> * on our behalf by the request (see i915_gem_mark_busy()) and it will
>>> @@ -788,8 +789,6 @@ static void execlists_submission_tasklet(unsigned long data)
>>> */
>>> GEM_BUG_ON(!dev_priv->gt.awake);
>>>
>>> - intel_uncore_forcewake_get(dev_priv, execlists->fw_domains);
>>> -
>>> /* Prefer doing test_and_clear_bit() as a two stage operation to avoid
>>> * imposing the cost of a locked atomic transaction when submitting a
>>> * new request (outside of the context-switch interrupt).
>>> @@ -818,6 +817,12 @@ static void execlists_submission_tasklet(unsigned long data)
>>> */
>>> __clear_bit(ENGINE_IRQ_EXECLIST, &engine->irq_posted);
>>> if (unlikely(execlists->csb_head == -1)) { /* following a reset */
>>> + if (!fw) {
>>> + intel_uncore_forcewake_get(dev_priv,
>>> + execlists->fw_domains);
>>> + fw = true;
>>> + }
>>> +
>>> head = readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)));
>>> tail = GEN8_CSB_WRITE_PTR(head);
>>> head = GEN8_CSB_READ_PTR(head);
>>> @@ -830,10 +835,10 @@ static void execlists_submission_tasklet(unsigned long data)
>>> head = execlists->csb_head;
>>> tail = READ_ONCE(buf[write_idx]);
>>> }
>>> - GEM_TRACE("%s cs-irq head=%d [%d], tail=%d [%d]\n",
>>> + GEM_TRACE("%s cs-irq head=%d [%d%s], tail=%d [%d%s]\n",
>>> engine->name,
>>> - head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))),
>>> - tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))));
>>> + head, GEN8_CSB_READ_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?",
>>> + tail, GEN8_CSB_WRITE_PTR(readl(dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_PTR(engine)))), fw ? "" : "?");
>>
>> Not useful to log the correct value in any case? Or in other words, this
>> trace is not useful for debugging potential problems with the HWSP CSB
>> copy, while with this change it stops being so?
>
> It also completely invalidates CI's testing as otherwise we will always
> be forcewaking on submission. I am not shedding a tear over the loss of
> that information on the occasions it is garbage - it too is likely to
> cause heisenbugs and mask the very information we are trying to present
> (in this case latency between HWSP write and CS interrupt).
Ookay.
>>> while (head != tail) {
>>> struct drm_i915_gem_request *rq;
>>> @@ -943,7 +948,8 @@ static void execlists_submission_tasklet(unsigned long data)
>>
>> There is a writel a bit above which now has no fw in HWSP mode.
>
> And it doesn't need one, afaict. There's no imposed wakeup (no forcewake)
> and no latency, ergo the HW is pulling the right value immediate.
> Otherwise the mostly idle submission of new requests would go entirely
> unnoticed. (I've always had a wonder about why they would add RING_TAIL
> to the shadow regs but not RING_ELSP.)
Ha shadowed, ok.. GEM_BUG_ON(intel_reg_forcewake_for_read(...))? But not
in the tasklet, perhaps somewhere else.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* ✓ Fi.CI.IGT: success for series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3)
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
` (6 preceding siblings ...)
2018-01-22 14:15 ` ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3) Patchwork
@ 2018-01-22 21:26 ` Patchwork
2018-01-23 13:02 ` Chris Wilson
7 siblings, 1 reply; 18+ messages in thread
From: Patchwork @ 2018-01-22 21:26 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3)
URL : https://patchwork.freedesktop.org/series/36842/
State : success
== Summary ==
Warning: bzip CI_DRM_3667/shard-glkb6/results7.json.bz2 wasn't in correct JSON format
Test kms_cursor_legacy:
Subgroup cursor-vs-flip-atomic:
fail -> PASS (shard-apl) fdo#103355
Subgroup flip-vs-cursor-legacy:
pass -> FAIL (shard-apl) fdo#102670
Test perf:
Subgroup buffer-fill:
fail -> PASS (shard-apl) fdo#103755
Subgroup oa-exponents:
fail -> PASS (shard-apl) fdo#102254
Test kms_frontbuffer_tracking:
Subgroup fbc-1p-offscren-pri-shrfb-draw-blt:
fail -> PASS (shard-snb) fdo#101623 +1
fdo#103355 https://bugs.freedesktop.org/show_bug.cgi?id=103355
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#103755 https://bugs.freedesktop.org/show_bug.cgi?id=103755
fdo#102254 https://bugs.freedesktop.org/show_bug.cgi?id=102254
fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623
shard-apl total:2780 pass:1716 dwarn:1 dfail:0 fail:23 skip:1040 time:14666s
shard-hsw total:2780 pass:1724 dwarn:1 dfail:0 fail:12 skip:1042 time:15570s
shard-snb total:2780 pass:1317 dwarn:1 dfail:0 fail:13 skip:1449 time:8120s
Blacklisted hosts:
shard-kbl total:2780 pass:1835 dwarn:3 dfail:0 fail:26 skip:916 time:11041s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7738/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: ✓ Fi.CI.IGT: success for series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3)
2018-01-22 21:26 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-01-23 13:02 ` Chris Wilson
0 siblings, 0 replies; 18+ messages in thread
From: Chris Wilson @ 2018-01-23 13:02 UTC (permalink / raw)
To: Patchwork; +Cc: intel-gfx
Quoting Patchwork (2018-01-22 21:26:48)
> == Series Details ==
>
> Series: series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3)
> URL : https://patchwork.freedesktop.org/series/36842/
> State : success
>
> == Summary ==
>
> Warning: bzip CI_DRM_3667/shard-glkb6/results7.json.bz2 wasn't in correct JSON format
> Test kms_cursor_legacy:
> Subgroup cursor-vs-flip-atomic:
> fail -> PASS (shard-apl) fdo#103355
> Subgroup flip-vs-cursor-legacy:
> pass -> FAIL (shard-apl) fdo#102670
> Test perf:
> Subgroup buffer-fill:
> fail -> PASS (shard-apl) fdo#103755
> Subgroup oa-exponents:
> fail -> PASS (shard-apl) fdo#102254
> Test kms_frontbuffer_tracking:
> Subgroup fbc-1p-offscren-pri-shrfb-draw-blt:
> fail -> PASS (shard-snb) fdo#101623 +1
>
> fdo#103355 https://bugs.freedesktop.org/show_bug.cgi?id=103355
> fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
> fdo#103755 https://bugs.freedesktop.org/show_bug.cgi?id=103755
> fdo#102254 https://bugs.freedesktop.org/show_bug.cgi?id=102254
> fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623
>
> shard-apl total:2780 pass:1716 dwarn:1 dfail:0 fail:23 skip:1040 time:14666s
> shard-hsw total:2780 pass:1724 dwarn:1 dfail:0 fail:12 skip:1042 time:15570s
> shard-snb total:2780 pass:1317 dwarn:1 dfail:0 fail:13 skip:1449 time:8120s
> Blacklisted hosts:
> shard-kbl total:2780 pass:1835 dwarn:3 dfail:0 fail:26 skip:916 time:11041s
>
> == Logs ==
>
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7738/shards.html
Reran on trybot to confirm the kbl errors were just flukes,
https://intel-gfx-ci.01.org/tree/drm-tip/Trybot_1695/shards.html
and pushed. Given that this is destined for 4.17, that gives us 3 months
to soak it before it gets exposed upstream. Fingers crossed!
Thanks,
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2018-01-23 13:02 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-20 9:31 [PATCH 1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
2018-01-20 9:31 ` [PATCH 2/2] drm/i915/execlists: Skip forcewake for ELSP submission Chris Wilson
2018-01-22 9:50 ` Tvrtko Ursulin
2018-01-22 9:53 ` Chris Wilson
2018-01-22 10:07 ` [PATCH v2] " Chris Wilson
2018-01-22 16:59 ` Tvrtko Ursulin
2018-01-22 17:17 ` Chris Wilson
2018-01-22 17:29 ` Tvrtko Ursulin
2018-01-20 10:02 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ Patchwork
2018-01-20 13:50 ` ✗ Fi.CI.IGT: failure " Patchwork
2018-01-21 11:01 ` [PATCH 1/2] " Sagar Arun Kamble
2018-01-21 12:25 ` Chris Wilson
2018-01-22 7:04 ` Sagar Arun Kamble
2018-01-22 10:29 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev2) Patchwork
2018-01-22 13:55 ` [PATCH v2] drm/i915: Increase render/media power gating hysteresis for gen9+ Chris Wilson
2018-01-22 14:15 ` ✓ Fi.CI.BAT: success for series starting with [v2] drm/i915: Increase render/media power gating hysteresis for gen9+ (rev3) Patchwork
2018-01-22 21:26 ` ✓ Fi.CI.IGT: " Patchwork
2018-01-23 13:02 ` 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.