All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t] lib/dummyload: Control whether or not the batch is preemptible
@ 2018-07-11  7:42 ` Chris Wilson
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Wilson @ 2018-07-11  7:42 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

Sometimes, we do not want to allow control to escape from the spinner,
e.g. for when we want to hang the GPU inside the batch.

(Split out from the preempt-timeout test case.)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
---
 lib/igt_dummyload.c | 5 ++---
 lib/igt_dummyload.h | 7 ++++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
index 7beb66244..2027a4b7f 100644
--- a/lib/igt_dummyload.c
+++ b/lib/igt_dummyload.c
@@ -186,7 +186,8 @@ emit_recursive_batch(igt_spin_t *spin,
 	spin->handle = obj[BATCH].handle;
 
 	/* Allow ourselves to be preempted */
-	*batch++ = MI_ARB_CHK;
+	if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
+		*batch++ = MI_ARB_CHK;
 
 	/* Pad with a few nops so that we do not completely hog the system.
 	 *
@@ -379,8 +380,6 @@ void igt_spin_batch_end(igt_spin_t *spin)
 	if (!spin)
 		return;
 
-	igt_assert(*spin->batch == MI_ARB_CHK ||
-		   *spin->batch == MI_BATCH_BUFFER_END);
 	*spin->batch = MI_BATCH_BUFFER_END;
 	__sync_synchronize();
 }
diff --git a/lib/igt_dummyload.h b/lib/igt_dummyload.h
index e80a12451..38bc7682e 100644
--- a/lib/igt_dummyload.h
+++ b/lib/igt_dummyload.h
@@ -50,9 +50,10 @@ struct igt_spin_factory {
 	unsigned int flags;
 };
 
-#define IGT_SPIN_FENCE_OUT (1 << 0)
-#define IGT_SPIN_POLL_RUN  (1 << 1)
-#define IGT_SPIN_FAST      (1 << 2)
+#define IGT_SPIN_FENCE_OUT     (1 << 0)
+#define IGT_SPIN_POLL_RUN      (1 << 1)
+#define IGT_SPIN_FAST          (1 << 2)
+#define IGT_SPIN_NO_PREEMPTION (1 << 3)
 
 igt_spin_t *
 __igt_spin_batch_factory(int fd, const struct igt_spin_factory *opts);
-- 
2.18.0

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

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

* [igt-dev] [PATCH i-g-t] lib/dummyload: Control whether or not the batch is preemptible
@ 2018-07-11  7:42 ` Chris Wilson
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Wilson @ 2018-07-11  7:42 UTC (permalink / raw)
  To: intel-gfx; +Cc: igt-dev

Sometimes, we do not want to allow control to escape from the spinner,
e.g. for when we want to hang the GPU inside the batch.

(Split out from the preempt-timeout test case.)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
---
 lib/igt_dummyload.c | 5 ++---
 lib/igt_dummyload.h | 7 ++++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c
index 7beb66244..2027a4b7f 100644
--- a/lib/igt_dummyload.c
+++ b/lib/igt_dummyload.c
@@ -186,7 +186,8 @@ emit_recursive_batch(igt_spin_t *spin,
 	spin->handle = obj[BATCH].handle;
 
 	/* Allow ourselves to be preempted */
-	*batch++ = MI_ARB_CHK;
+	if (!(opts->flags & IGT_SPIN_NO_PREEMPTION))
+		*batch++ = MI_ARB_CHK;
 
 	/* Pad with a few nops so that we do not completely hog the system.
 	 *
@@ -379,8 +380,6 @@ void igt_spin_batch_end(igt_spin_t *spin)
 	if (!spin)
 		return;
 
-	igt_assert(*spin->batch == MI_ARB_CHK ||
-		   *spin->batch == MI_BATCH_BUFFER_END);
 	*spin->batch = MI_BATCH_BUFFER_END;
 	__sync_synchronize();
 }
diff --git a/lib/igt_dummyload.h b/lib/igt_dummyload.h
index e80a12451..38bc7682e 100644
--- a/lib/igt_dummyload.h
+++ b/lib/igt_dummyload.h
@@ -50,9 +50,10 @@ struct igt_spin_factory {
 	unsigned int flags;
 };
 
-#define IGT_SPIN_FENCE_OUT (1 << 0)
-#define IGT_SPIN_POLL_RUN  (1 << 1)
-#define IGT_SPIN_FAST      (1 << 2)
+#define IGT_SPIN_FENCE_OUT     (1 << 0)
+#define IGT_SPIN_POLL_RUN      (1 << 1)
+#define IGT_SPIN_FAST          (1 << 2)
+#define IGT_SPIN_NO_PREEMPTION (1 << 3)
 
 igt_spin_t *
 __igt_spin_batch_factory(int fd, const struct igt_spin_factory *opts);
-- 
2.18.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for lib/dummyload: Control whether or not the batch is preemptible
  2018-07-11  7:42 ` [igt-dev] " Chris Wilson
  (?)
@ 2018-07-11  8:19 ` Patchwork
  -1 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-07-11  8:19 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: lib/dummyload: Control whether or not the batch is preemptible
URL   : https://patchwork.freedesktop.org/series/46290/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4466 -> IGTPW_1554 =

== Summary - SUCCESS ==

  No regressions found.

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

== Known issues ==

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

  === IGT changes ===

    ==== Possible fixes ====

    igt@kms_flip@basic-flip-vs-dpms:
      fi-skl-6700hq:      DMESG-WARN (fdo#105998) -> PASS

    igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
      {fi-skl-iommu}:     FAIL (fdo#106686) -> SKIP +2

    
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

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


== Participating hosts (45 -> 42) ==

  Additional (2): fi-skl-guc fi-kbl-guc 
  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


== Build changes ==

    * IGT: IGT_4545 -> IGTPW_1554

  CI_DRM_4466: 40ea4d696481930682c782e8dd7bd0cdbdfad574 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1554: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1554/
  IGT_4545: c3035d8cb11459f186f712d9c7ebb6734fc99831 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for lib/dummyload: Control whether or not the batch is preemptible
  2018-07-11  7:42 ` [igt-dev] " Chris Wilson
  (?)
  (?)
@ 2018-07-11  9:40 ` Patchwork
  -1 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2018-07-11  9:40 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: lib/dummyload: Control whether or not the batch is preemptible
URL   : https://patchwork.freedesktop.org/series/46290/
State : failure

== Summary ==

= CI Bug Log - changes from IGT_4545_full -> IGTPW_1554_full =

== Summary - FAILURE ==

  Serious unknown changes coming with IGTPW_1554_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_1554_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_1554_full:

  === IGT changes ===

    ==== Possible regressions ====

    igt@kms_draw_crc@draw-method-xrgb8888-blt-xtiled:
      shard-glk:          PASS -> FAIL

    
    ==== Warnings ====

    igt@gem_mocs_settings@mocs-rc6-bsd1:
      shard-kbl:          SKIP -> PASS

    igt@gem_mocs_settings@mocs-rc6-dirty-render:
      shard-kbl:          PASS -> SKIP +2

    igt@kms_draw_crc@draw-method-xrgb8888-pwrite-xtiled:
      shard-snb:          SKIP -> PASS +1

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_await@wide-contexts:
      shard-glk:          PASS -> FAIL (fdo#105900)

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

    igt@kms_flip@plain-flip-fb-recreate-interruptible:
      shard-glk:          PASS -> FAIL (fdo#100368) +1

    igt@kms_flip_tiling@flip-y-tiled:
      shard-glk:          PASS -> FAIL (fdo#103822, fdo#107161)

    igt@kms_rotation_crc@primary-rotation-180:
      shard-snb:          PASS -> FAIL (fdo#103925)

    
    ==== Possible fixes ====

    igt@drv_module_reload@basic-reload-inject:
      shard-glk:          DMESG-WARN -> PASS

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          INCOMPLETE (fdo#103665, fdo#106023) -> PASS

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-snb:          FAIL (fdo#106641) -> PASS

    igt@kms_flip@2x-plain-flip-ts-check-interruptible:
      shard-glk:          FAIL (fdo#100368) -> PASS +2

    igt@perf@polling:
      shard-hsw:          FAIL (fdo#102252) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105900 https://bugs.freedesktop.org/show_bug.cgi?id=105900
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#107161 https://bugs.freedesktop.org/show_bug.cgi?id=107161


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

  No changes in participating hosts


== Build changes ==

    * IGT: IGT_4545 -> IGTPW_1554
    * Linux: CI_DRM_4463 -> CI_DRM_4466

  CI_DRM_4463: 756ded1fe53d1449d239c6b34f97e03e478a8a38 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_4466: 40ea4d696481930682c782e8dd7bd0cdbdfad574 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_1554: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1554/
  IGT_4545: c3035d8cb11459f186f712d9c7ebb6734fc99831 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

end of thread, other threads:[~2018-07-11  9:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-11  7:42 [PATCH i-g-t] lib/dummyload: Control whether or not the batch is preemptible Chris Wilson
2018-07-11  7:42 ` [igt-dev] " Chris Wilson
2018-07-11  8:19 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-07-11  9:40 ` [igt-dev] ✗ Fi.CI.IGT: failure " 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.