All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs
@ 2018-06-06 11:33 Michał Winiarski
  2018-06-06 11:40 ` ✗ Fi.CI.SPARSE: warning for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Michał Winiarski @ 2018-06-06 11:33 UTC (permalink / raw)
  To: intel-gfx

We'd like to start testing module load with fault injection. To avoid
making any asumptions on number of available fault injection
checkpoints (either in IGT or in i915), we can compute it at runtime and
export it in debugfs.

Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 14 ++++++++++++++
 drivers/gpu/drm/i915/i915_drv.c     | 13 +++++--------
 drivers/gpu/drm/i915/i915_drv.h     |  7 +++++--
 3 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 698af45e229c..32cf8bb83ed5 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2279,6 +2279,17 @@ static int i915_rps_boost_info(struct seq_file *m, void *data)
 	return 0;
 }
 
+#if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
+static int i915_fail_injection_info(struct seq_file *m, void *data)
+{
+	struct drm_i915_private *i915 = node_to_i915(m->private);
+
+	seq_printf(m, "Available checkpoints: %u\n", i915->load_fail_count);
+
+	return 0;
+}
+#endif
+
 static int i915_llc(struct seq_file *m, void *data)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
@@ -4797,6 +4808,9 @@ static const struct drm_info_list i915_debugfs_list[] = {
 	{"i915_sseu_status", i915_sseu_status, 0},
 	{"i915_drrs_status", i915_drrs_status, 0},
 	{"i915_rps_boost_info", i915_rps_boost_info, 0},
+#if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
+	{"i915_fail_injection_info", i915_fail_injection_info, 0},
+#endif
 };
 #define I915_DEBUGFS_ENTRIES ARRAY_SIZE(i915_debugfs_list)
 
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 6b599b1837dc..0c3acc255085 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -57,14 +57,11 @@
 static struct drm_driver driver;
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
-static unsigned int i915_load_fail_count;
 
-bool __i915_inject_load_failure(const char *func, int line)
+bool __i915_inject_load_failure(struct drm_i915_private *i915,
+				const char *func, int line)
 {
-	if (i915_load_fail_count >= i915_modparams.inject_load_failure)
-		return false;
-
-	if (++i915_load_fail_count == i915_modparams.inject_load_failure) {
+	if (++i915->load_fail_count == i915_modparams.inject_load_failure) {
 		DRM_INFO("Injecting failure at checkpoint %u [%s:%d]\n",
 			 i915_modparams.inject_load_failure, func, line);
 		return true;
@@ -114,11 +111,11 @@ __i915_printk(struct drm_i915_private *dev_priv, const char *level,
 	va_end(args);
 }
 
-static bool i915_error_injected(struct drm_i915_private *dev_priv)
+static bool i915_error_injected(struct drm_i915_private *i915)
 {
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
 	return i915_modparams.inject_load_failure &&
-	       i915_load_fail_count == i915_modparams.inject_load_failure;
+	       i915->load_fail_count == i915_modparams.inject_load_failure;
 #else
 	return false;
 #endif
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index a4bb30c32a52..f694e5ebd39f 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -107,9 +107,10 @@
 	I915_STATE_WARN((x), "%s", "WARN_ON(" __stringify(x) ")")
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
-bool __i915_inject_load_failure(const char *func, int line);
+bool __i915_inject_load_failure(struct drm_i915_private *i915,
+				const char *func, int line);
 #define i915_inject_load_failure() \
-	__i915_inject_load_failure(__func__, __LINE__)
+	__i915_inject_load_failure(dev_priv, __func__, __LINE__)
 #else
 #define i915_inject_load_failure() false
 #endif
@@ -2120,6 +2121,8 @@ struct drm_i915_private {
 
 	struct i915_pmu pmu;
 
+	unsigned int load_fail_count;
+
 	/*
 	 * NOTE: This is the dri1/ums dungeon, don't add stuff here. Your patch
 	 * will be rejected. Instead look for a better place.
-- 
2.17.0

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

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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Export number of fail injection checkpoints through debugfs
  2018-06-06 11:33 [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs Michał Winiarski
@ 2018-06-06 11:40 ` Patchwork
  2018-06-06 11:44 ` [PATCH] " Chris Wilson
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-06-06 11:40 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Export number of fail injection checkpoints through debugfs
URL   : https://patchwork.freedesktop.org/series/44347/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Commit: drm/i915: Export number of fail injection checkpoints through debugfs
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3668:16: warning: expression using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3671:16: warning: expression using sizeof(void)

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

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

* Re: [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs
  2018-06-06 11:33 [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs Michał Winiarski
  2018-06-06 11:40 ` ✗ Fi.CI.SPARSE: warning for " Patchwork
@ 2018-06-06 11:44 ` Chris Wilson
  2018-06-06 11:59 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-06-06 11:44 UTC (permalink / raw)
  To: Michał Winiarski, intel-gfx

Quoting Michał Winiarski (2018-06-06 12:33:56)
> We'd like to start testing module load with fault injection. To avoid
> making any asumptions on number of available fault injection
> checkpoints (either in IGT or in i915), we can compute it at runtime and
> export it in debugfs.

The idea was that we wouldn't need this coupling as we just keep on
adding more faults until the module loads, as then we have hit all the
branches we might.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.BAT: success for drm/i915: Export number of fail injection checkpoints through debugfs
  2018-06-06 11:33 [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs Michał Winiarski
  2018-06-06 11:40 ` ✗ Fi.CI.SPARSE: warning for " Patchwork
  2018-06-06 11:44 ` [PATCH] " Chris Wilson
@ 2018-06-06 11:59 ` Patchwork
  2018-06-06 12:15 ` [PATCH] " Chris Wilson
  2018-06-06 15:52 ` ✓ Fi.CI.IGT: success for " Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-06-06 11:59 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Export number of fail injection checkpoints through debugfs
URL   : https://patchwork.freedesktop.org/series/44347/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4282 -> Patchwork_9214 =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9214 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9214, 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/44347/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Warnings ====

    igt@gem_exec_gttfill@basic:
      fi-pnv-d510:        SKIP -> PASS

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-kbl-7500u:       PASS -> DMESG-WARN (fdo#105128)

    igt@gem_mmap_gtt@basic-small-bo-tiledx:
      fi-gdg-551:         PASS -> FAIL (fdo#102575)

    igt@gem_sync@basic-many-each:
      fi-cnl-y3:          NOTRUN -> INCOMPLETE (fdo#105086)

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
      fi-cfl-s3:          PASS -> FAIL (fdo#104724)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-snb-2520m:       PASS -> INCOMPLETE (fdo#103713)

    
    ==== Possible fixes ====

    igt@gem_sync@basic-each:
      fi-cnl-y3:          INCOMPLETE (fdo#105086) -> PASS

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

    
  fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#105086 https://bugs.freedesktop.org/show_bug.cgi?id=105086
  fdo#105128 https://bugs.freedesktop.org/show_bug.cgi?id=105128


== Participating hosts (41 -> 36) ==

  Missing    (5): fi-ctg-p8600 fi-byt-squawks fi-ilk-m540 fi-glk-j4005 fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4282 -> Patchwork_9214

  CI_DRM_4282: c1064b9be065603680d060184da1a93d404dcf0c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4508: 78a68c905066beeefd24b3a4518d817a811e8798 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9214: bb1f356941351d3538d7f3b63d3cb57047374588 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

bb1f35694135 drm/i915: Export number of fail injection checkpoints through debugfs

== Logs ==

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

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

* Re: [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs
  2018-06-06 11:33 [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs Michał Winiarski
                   ` (2 preceding siblings ...)
  2018-06-06 11:59 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-06-06 12:15 ` Chris Wilson
  2018-06-06 15:52 ` ✓ Fi.CI.IGT: success for " Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2018-06-06 12:15 UTC (permalink / raw)
  To: Michał Winiarski, intel-gfx

Quoting Michał Winiarski (2018-06-06 12:33:56)
> We'd like to start testing module load with fault injection. To avoid
> making any asumptions on number of available fault injection
> checkpoints (either in IGT or in i915), we can compute it at runtime and
> export it in debugfs.

Michał pointed out on irc that out igt is completely busted atm and we
have let a number of errors slip in. Oh well.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.IGT: success for drm/i915: Export number of fail injection checkpoints through debugfs
  2018-06-06 11:33 [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs Michał Winiarski
                   ` (3 preceding siblings ...)
  2018-06-06 12:15 ` [PATCH] " Chris Wilson
@ 2018-06-06 15:52 ` Patchwork
  4 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2018-06-06 15:52 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Export number of fail injection checkpoints through debugfs
URL   : https://patchwork.freedesktop.org/series/44347/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4282_full -> Patchwork_9214_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9214_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9214_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/44347/revisions/1/mbox/

== Possible new issues ==

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

  === IGT changes ===

    ==== Warnings ====

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

    igt@perf_pmu@rc6:
      shard-kbl:          SKIP -> PASS

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

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

    igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
      shard-hsw:          PASS -> FAIL (fdo#105767)

    igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#103060) +1

    igt@kms_flip@dpms-vs-vblank-race:
      shard-kbl:          PASS -> FAIL (fdo#103060)

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

    
    ==== Possible fixes ====

    igt@gem_eio@hibernate:
      shard-snb:          INCOMPLETE (fdo#105411) -> PASS

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

    igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
      shard-glk:          FAIL (fdo#105703) -> PASS

    igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
      shard-glk:          FAIL (fdo#105454, fdo#106509) -> PASS

    igt@kms_flip@flip-vs-expired-vblank:
      shard-hsw:          FAIL (fdo#105189) -> PASS

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

    igt@kms_flip_tiling@flip-to-x-tiled:
      shard-glk:          FAIL (fdo#103822, fdo#104724) -> PASS

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

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

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
  fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
  fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#105189 https://bugs.freedesktop.org/show_bug.cgi?id=105189
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105454 https://bugs.freedesktop.org/show_bug.cgi?id=105454
  fdo#105703 https://bugs.freedesktop.org/show_bug.cgi?id=105703
  fdo#105767 https://bugs.freedesktop.org/show_bug.cgi?id=105767
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106509 https://bugs.freedesktop.org/show_bug.cgi?id=106509
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


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

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4282 -> Patchwork_9214

  CI_DRM_4282: c1064b9be065603680d060184da1a93d404dcf0c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4508: 78a68c905066beeefd24b3a4518d817a811e8798 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9214: bb1f356941351d3538d7f3b63d3cb57047374588 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

end of thread, other threads:[~2018-06-06 15:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-06 11:33 [PATCH] drm/i915: Export number of fail injection checkpoints through debugfs Michał Winiarski
2018-06-06 11:40 ` ✗ Fi.CI.SPARSE: warning for " Patchwork
2018-06-06 11:44 ` [PATCH] " Chris Wilson
2018-06-06 11:59 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-06-06 12:15 ` [PATCH] " Chris Wilson
2018-06-06 15:52 ` ✓ Fi.CI.IGT: success 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.