* [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.