All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption
@ 2017-10-26  7:31 Chris Wilson
  2017-10-26  8:22 ` ✗ Fi.CI.BAT: warning for " Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Chris Wilson @ 2017-10-26  7:31 UTC (permalink / raw)
  To: intel-gfx

For measuring the cost of preemption, inject a low priority spinner
between the two measurements; the difference between the preemption and
the normal dispatch includes both the cost of the spinner dispatch and
of preempting it. Close enough for us to estimate the cost of
preemption, though we don't measure the cost of preemption on the local
ring!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
CC: Michał Winiarski <michal.winiarski@intel.com>
---
 tests/gem_exec_latency.c | 88 ++++++++++++++++++++++++++++++++----------------
 1 file changed, 59 insertions(+), 29 deletions(-)

diff --git a/tests/gem_exec_latency.c b/tests/gem_exec_latency.c
index e9d93440..850404b9 100644
--- a/tests/gem_exec_latency.c
+++ b/tests/gem_exec_latency.c
@@ -50,7 +50,8 @@
 
 #define ENGINE_FLAGS  (I915_EXEC_RING_MASK | LOCAL_I915_EXEC_BSD_MASK)
 
-#define CORK 1
+#define CORK 0x1
+#define PREEMPT 0x2
 
 static unsigned int ring_size;
 
@@ -284,13 +285,23 @@ static void latency_from_ring(int fd,
 	struct drm_i915_gem_execbuffer2 execbuf;
 	const unsigned int repeats = ring_size / 2;
 	uint32_t *map, *results;
+	uint32_t ctx[2] = {};
 	int i, j;
 
+	if (flags & PREEMPT) {
+		ctx[0] = gem_context_create(fd);
+		gem_context_set_priority(fd, ctx[0], -1023);
+
+		ctx[1] = gem_context_create(fd);
+		gem_context_set_priority(fd, ctx[1], 1023);
+	}
+
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffers_ptr = to_user_pointer(&obj[1]);
 	execbuf.buffer_count = 2;
 	execbuf.flags = ring;
 	execbuf.flags |= LOCAL_I915_EXEC_NO_RELOC | LOCAL_I915_EXEC_HANDLE_LUT;
+	execbuf.rsvd1 = ctx[1];
 
 	memset(obj, 0, sizeof(obj));
 	obj[1].handle = gem_create(fd, 4096);
@@ -319,6 +330,7 @@ static void latency_from_ring(int fd,
 	reloc.target_handle = flags & CORK ? 1 : 0;
 
 	for (e = intel_execution_engines; e->name; e++) {
+		igt_spin_t *spin = NULL;
 		struct cork c;
 
 		if (e->exec_id == 0)
@@ -331,6 +343,9 @@ static void latency_from_ring(int fd,
 			       I915_GEM_DOMAIN_GTT,
 			       I915_GEM_DOMAIN_GTT);
 
+		if (flags & PREEMPT)
+			spin = igt_spin_batch_new(fd, ctx[0], ring, 0);
+
 		if (flags & CORK) {
 			plug(fd, &c);
 			obj[0].handle = c.handle;
@@ -349,6 +364,7 @@ static void latency_from_ring(int fd,
 				execbuf.batch_start_offset + sizeof(uint32_t);
 			reloc.delta = sizeof(uint32_t) * j;
 
+			reloc.presumed_offset = obj[1].offset;
 			offset = reloc.presumed_offset;
 			offset += reloc.delta;
 
@@ -373,6 +389,7 @@ static void latency_from_ring(int fd,
 				execbuf.batch_start_offset + sizeof(uint32_t);
 			reloc.delta = sizeof(uint32_t) * (j + repeats);
 
+			reloc.presumed_offset = obj[1].offset;
 			offset = reloc.presumed_offset;
 			offset += reloc.delta;
 
@@ -392,10 +409,10 @@ static void latency_from_ring(int fd,
 
 		if (flags & CORK)
 			unplug(&c);
-
 		gem_set_domain(fd, obj[1].handle,
 			       I915_GEM_DOMAIN_GTT,
 			       I915_GEM_DOMAIN_GTT);
+		igt_spin_batch_free(fd, spin);
 
 		igt_info("%s-%s delay: %.2f\n",
 			 name, e->name, (results[2*repeats-1] - results[0]) / (double)repeats);
@@ -405,6 +422,11 @@ static void latency_from_ring(int fd,
 	munmap(results, 4096);
 	gem_close(fd, obj[1].handle);
 	gem_close(fd, obj[2].handle);
+
+	if (flags & PREEMPT) {
+		gem_context_destroy(fd, ctx[1]);
+		gem_context_destroy(fd, ctx[0]);
+	}
 }
 
 igt_main
@@ -437,37 +459,45 @@ igt_main
 			if (e->exec_id == 0)
 				continue;
 
-			igt_subtest_f("%s-dispatch", e->name) {
-				gem_require_ring(device, e->exec_id | e->flags);
-				latency_on_ring(device,
-						e->exec_id | e->flags,
-						e->name, 0);
-			}
-
-			igt_subtest_f("%s-dispatch-queued", e->name) {
-				gem_require_ring(device, e->exec_id | e->flags);
-				latency_on_ring(device,
-						e->exec_id | e->flags,
-						e->name, CORK);
-			}
-
-			igt_subtest_f("%s-synchronisation", e->name) {
-				gem_require_ring(device, e->exec_id | e->flags);
-				latency_from_ring(device,
-						  e->exec_id | e->flags,
-						  e->name, 0);
-			}
-
-			igt_subtest_f("%s-synchronisation-queued", e->name) {
-				gem_require_ring(device, e->exec_id | e->flags);
-				latency_from_ring(device,
-						  e->exec_id | e->flags,
-						  e->name, CORK);
+			igt_subtest_group {
+				igt_fixture {
+					gem_require_ring(device, e->exec_id | e->flags);
+				}
+
+				igt_subtest_f("%s-dispatch", e->name)
+					latency_on_ring(device,
+							e->exec_id | e->flags,
+							e->name, 0);
+
+				igt_subtest_f("%s-dispatch-queued", e->name)
+					latency_on_ring(device,
+							e->exec_id | e->flags,
+							e->name, CORK);
+
+				igt_subtest_f("%s-synchronisation", e->name)
+					latency_from_ring(device,
+							  e->exec_id | e->flags,
+							  e->name, 0);
+
+				igt_subtest_f("%s-synchronisation-queued", e->name)
+					latency_from_ring(device,
+							  e->exec_id | e->flags,
+							  e->name, CORK);
+
+				igt_subtest_group {
+					igt_fixture {
+						igt_require(gem_scheduler_has_preemption(device));
+					}
+
+					igt_subtest_f("%s-preemption", e->name)
+						latency_from_ring(device,
+								  e->exec_id | e->flags,
+								  e->name, PREEMPT);
+				}
 			}
 		}
 	}
 
-
 	igt_fixture {
 		close(device);
 	}
-- 
2.15.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] 9+ messages in thread

* ✗ Fi.CI.BAT: warning for igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26  7:31 [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption Chris Wilson
@ 2017-10-26  8:22 ` Patchwork
  2017-10-26  9:04 ` ✓ Fi.CI.IGT: success " Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-10-26  8:22 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: igt/gem_exec_latency: Wire up an interloper for preemption
URL   : https://patchwork.freedesktop.org/series/32679/
State : warning

== Summary ==

IGT patchset tested on top of latest successful build
12ee485a1e23bd49b754751fa82859012f751a1a igt/drv_hangman: Skip aliased I915_EXEC_BSD

with latest DRM-Tip kernel build CI_DRM_3285
2ea0b3d47030 drm-tip: 2017y-10m-25d-18h-42m-20s UTC integration manifest

Testlist changes:
+igt@gem_exec_latency@blt-preemption
+igt@gem_exec_latency@bsd1-preemption
+igt@gem_exec_latency@bsd2-preemption
+igt@gem_exec_latency@bsd-preemption
+igt@gem_exec_latency@render-preemption
+igt@gem_exec_latency@vebox-preemption

Test kms_busy:
        Subgroup basic-flip-a:
                pass       -> DMESG-WARN (fi-ilk-650)
Test kms_frontbuffer_tracking:
        Subgroup basic:
                fail       -> PASS       (fi-glk-dsi) fdo#103167

fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:450s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:450s
fi-blb-e6850     total:289  pass:223  dwarn:1   dfail:0   fail:0   skip:65  time:376s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:525s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:263s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:506s
fi-bxt-j4205     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:497s
fi-byt-j1900     total:289  pass:253  dwarn:1   dfail:0   fail:0   skip:35  time:495s
fi-byt-n2820     total:289  pass:249  dwarn:1   dfail:0   fail:0   skip:39  time:481s
fi-cfl-s         total:289  pass:253  dwarn:4   dfail:0   fail:0   skip:32  time:553s
fi-cnl-y         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:600s
fi-elk-e7500     total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:419s
fi-gdg-551       total:289  pass:178  dwarn:1   dfail:0   fail:1   skip:109 time:252s
fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:584s
fi-glk-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:492s
fi-hsw-4770      total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:430s
fi-hsw-4770r     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:432s
fi-ilk-650       total:289  pass:227  dwarn:1   dfail:0   fail:0   skip:61  time:435s
fi-ivb-3520m     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:490s
fi-ivb-3770      total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:463s
fi-kbl-7500u     total:289  pass:264  dwarn:1   dfail:0   fail:0   skip:24  time:492s
fi-kbl-7560u     total:289  pass:270  dwarn:0   dfail:0   fail:0   skip:19  time:575s
fi-kbl-7567u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:478s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:583s
fi-pnv-d510      total:289  pass:222  dwarn:1   dfail:0   fail:0   skip:66  time:552s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:452s
fi-skl-6600u     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:593s
fi-skl-6700hq    total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:646s
fi-skl-6700k     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:520s
fi-skl-6770hq    total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:502s
fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:461s
fi-snb-2520m     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:575s
fi-snb-2600      total:289  pass:249  dwarn:0   dfail:0   fail:0   skip:40  time:425s

== Logs ==

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

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

* ✓ Fi.CI.IGT: success for igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26  7:31 [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption Chris Wilson
  2017-10-26  8:22 ` ✗ Fi.CI.BAT: warning for " Patchwork
@ 2017-10-26  9:04 ` Patchwork
  2017-10-26 10:52 ` [PATCH igt] " Michał Winiarski
  2017-10-26 12:33 ` ✗ Fi.CI.BAT: failure for " Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-10-26  9:04 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: igt/gem_exec_latency: Wire up an interloper for preemption
URL   : https://patchwork.freedesktop.org/series/32679/
State : success

== Summary ==

Test drv_suspend:
        Subgroup fence-restore-untiled-hibernate:
                dmesg-fail -> FAIL       (shard-hsw) k.org#196691
Test kms_busy:
        Subgroup extended-modeset-hang-oldfb-with-reset-render-B:
                dmesg-warn -> PASS       (shard-hsw) fdo#102249
Test kms_flip:
        Subgroup plain-flip-ts-check:
                pass       -> FAIL       (shard-hsw) fdo#100368
Test kms_cursor_legacy:
        Subgroup flip-vs-cursor-legacy:
                fail       -> PASS       (shard-hsw) fdo#102670
Test drv_module_reload:
        Subgroup basic-no-display:
                pass       -> DMESG-WARN (shard-hsw) fdo#102707
Test kms_setmode:
        Subgroup basic:
                pass       -> FAIL       (shard-hsw) fdo#99912

k.org#196691 https://bugzilla.kernel.org/show_bug.cgi?id=196691
fdo#102249 https://bugs.freedesktop.org/show_bug.cgi?id=102249
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912

shard-hsw        total:2539 pass:1430 dwarn:2   dfail:0   fail:10  skip:1097 time:9223s

== Logs ==

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

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

* Re: [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26  7:31 [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption Chris Wilson
  2017-10-26  8:22 ` ✗ Fi.CI.BAT: warning for " Patchwork
  2017-10-26  9:04 ` ✓ Fi.CI.IGT: success " Patchwork
@ 2017-10-26 10:52 ` Michał Winiarski
  2017-10-26 11:04   ` Chris Wilson
  2017-10-26 11:15   ` Chris Wilson
  2017-10-26 12:33 ` ✗ Fi.CI.BAT: failure for " Patchwork
  3 siblings, 2 replies; 9+ messages in thread
From: Michał Winiarski @ 2017-10-26 10:52 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Thu, Oct 26, 2017 at 08:31:27AM +0100, Chris Wilson wrote:
> For measuring the cost of preemption, inject a low priority spinner
> between the two measurements; the difference between the preemption and
> the normal dispatch includes both the cost of the spinner dispatch and
> of preempting it. Close enough for us to estimate the cost of
> preemption, though we don't measure the cost of preemption on the local
> ring!

And as expected, we're seeing more delay with GuC, probably from worker
scheduling delay (~2ms on my SKL if I'm reading the results correctly).

Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

-Michał

> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> CC: Michał Winiarski <michal.winiarski@intel.com>
> ---
>  tests/gem_exec_latency.c | 88 ++++++++++++++++++++++++++++++++----------------
>  1 file changed, 59 insertions(+), 29 deletions(-)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26 10:52 ` [PATCH igt] " Michał Winiarski
@ 2017-10-26 11:04   ` Chris Wilson
  2017-10-26 11:41     ` Michał Winiarski
  2017-10-26 11:15   ` Chris Wilson
  1 sibling, 1 reply; 9+ messages in thread
From: Chris Wilson @ 2017-10-26 11:04 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-gfx

Quoting Michał Winiarski (2017-10-26 11:52:31)
> On Thu, Oct 26, 2017 at 08:31:27AM +0100, Chris Wilson wrote:
> > For measuring the cost of preemption, inject a low priority spinner
> > between the two measurements; the difference between the preemption and
> > the normal dispatch includes both the cost of the spinner dispatch and
> > of preempting it. Close enough for us to estimate the cost of
> > preemption, though we don't measure the cost of preemption on the local
> > ring!
> 
> And as expected, we're seeing more delay with GuC, probably from worker
> scheduling delay (~2ms on my SKL if I'm reading the results correctly).

Don't look at bxt then ;) Another order or magnitude.

Most of that can be ascribed to using a worker, so we should be able to
pare it back somewhat. Just the idea that the GuC may take 10ms to
respond to a request is a bit disconcerting!

Do we have to wait for the ack from the preempt request? Could we farm
that off to some other poor task? Then we would be in a position to
avoid that mutex and process-context worker. Oh well, you probably
already have ideas and plans for replacing that mutex :)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26 10:52 ` [PATCH igt] " Michał Winiarski
  2017-10-26 11:04   ` Chris Wilson
@ 2017-10-26 11:15   ` Chris Wilson
  2017-10-27  9:11     ` Petri Latvala
  1 sibling, 1 reply; 9+ messages in thread
From: Chris Wilson @ 2017-10-26 11:15 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-gfx

Quoting Michał Winiarski (2017-10-26 11:52:31)
> On Thu, Oct 26, 2017 at 08:31:27AM +0100, Chris Wilson wrote:
> > For measuring the cost of preemption, inject a low priority spinner
> > between the two measurements; the difference between the preemption and
> > the normal dispatch includes both the cost of the spinner dispatch and
> > of preempting it. Close enough for us to estimate the cost of
> > preemption, though we don't measure the cost of preemption on the local
> > ring!
> 
> And as expected, we're seeing more delay with GuC, probably from worker
> scheduling delay (~2ms on my SKL if I'm reading the results correctly).
> 
> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

And I forgot to copy'n'paste the r-b before pushing. The inquisition
will be calling shortly.

I was going to say, no reason to hold back on pushing this, as this is
a benchmark for our informational purposes only. One day, it shall be
moved to benchmarks/
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26 11:04   ` Chris Wilson
@ 2017-10-26 11:41     ` Michał Winiarski
  0 siblings, 0 replies; 9+ messages in thread
From: Michał Winiarski @ 2017-10-26 11:41 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Thu, Oct 26, 2017 at 12:04:11PM +0100, Chris Wilson wrote:
> Quoting Michał Winiarski (2017-10-26 11:52:31)
> > On Thu, Oct 26, 2017 at 08:31:27AM +0100, Chris Wilson wrote:
> > > For measuring the cost of preemption, inject a low priority spinner
> > > between the two measurements; the difference between the preemption and
> > > the normal dispatch includes both the cost of the spinner dispatch and
> > > of preempting it. Close enough for us to estimate the cost of
> > > preemption, though we don't measure the cost of preemption on the local
> > > ring!
> > 
> > And as expected, we're seeing more delay with GuC, probably from worker
> > scheduling delay (~2ms on my SKL if I'm reading the results correctly).
> 
> Don't look at bxt then ;) Another order or magnitude.
> 
> Most of that can be ascribed to using a worker, so we should be able to
> pare it back somewhat. Just the idea that the GuC may take 10ms to
> respond to a request is a bit disconcerting!

Naively replacing send_mutex with spinlock brings us back into tens of
microseconds range.

> 
> Do we have to wait for the ack from the preempt request? Could we farm
> that off to some other poor task? Then we would be in a position to
> avoid that mutex and process-context worker. Oh well, you probably
> already have ideas and plans for replacing that mutex :)
> -Chris

Error handling becomes more problematic (but doable... we're not doing anything
that affects execution while waiting for preemption to complete).
I was thinking about fast-path for preemption when it responds with a reasonable
amount of time, with fallback to worker when it doesn't.

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

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

* ✗ Fi.CI.BAT: failure for igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26  7:31 [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption Chris Wilson
                   ` (2 preceding siblings ...)
  2017-10-26 10:52 ` [PATCH igt] " Michał Winiarski
@ 2017-10-26 12:33 ` Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2017-10-26 12:33 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: igt/gem_exec_latency: Wire up an interloper for preemption
URL   : https://patchwork.freedesktop.org/series/32679/
State : failure

== Summary ==

Series 32679 revision 1 was fully merged or fully failed: no git log

== Logs ==

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

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

* Re: [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption
  2017-10-26 11:15   ` Chris Wilson
@ 2017-10-27  9:11     ` Petri Latvala
  0 siblings, 0 replies; 9+ messages in thread
From: Petri Latvala @ 2017-10-27  9:11 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Thu, Oct 26, 2017 at 12:15:32PM +0100, Chris Wilson wrote:
> Quoting Michał Winiarski (2017-10-26 11:52:31)
> > On Thu, Oct 26, 2017 at 08:31:27AM +0100, Chris Wilson wrote:
> > > For measuring the cost of preemption, inject a low priority spinner
> > > between the two measurements; the difference between the preemption and
> > > the normal dispatch includes both the cost of the spinner dispatch and
> > > of preempting it. Close enough for us to estimate the cost of
> > > preemption, though we don't measure the cost of preemption on the local
> > > ring!
> > 
> > And as expected, we're seeing more delay with GuC, probably from worker
> > scheduling delay (~2ms on my SKL if I'm reading the results correctly).
> > 
> > Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

You forgot to... wait...

> And I forgot to copy'n'paste the r-b before pushing. The inquisition
> will be calling shortly.

B...b.b.but you're not supposed to expect the (spanish)
inquisition... =(



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

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

end of thread, other threads:[~2017-10-27  9:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-26  7:31 [PATCH igt] igt/gem_exec_latency: Wire up an interloper for preemption Chris Wilson
2017-10-26  8:22 ` ✗ Fi.CI.BAT: warning for " Patchwork
2017-10-26  9:04 ` ✓ Fi.CI.IGT: success " Patchwork
2017-10-26 10:52 ` [PATCH igt] " Michał Winiarski
2017-10-26 11:04   ` Chris Wilson
2017-10-26 11:41     ` Michał Winiarski
2017-10-26 11:15   ` Chris Wilson
2017-10-27  9:11     ` Petri Latvala
2017-10-26 12:33 ` ✗ Fi.CI.BAT: failure for " Patchwork

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.