All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-17 23:38 ` Matthew Brost
  0 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2021-09-17 23:38 UTC (permalink / raw)
  To: intel-gfx, dri-devel

From: Hugh Dickins <hughd@google.com>

5.15-rc1 crashes with blank screen when booting up on two ThinkPads
using i915.  Bisections converge convincingly, but arrive at different
and surprising "culprits", none of them the actual culprit.

netconsole (with init_netconsole() hacked to call i915_init() when
logging has started, instead of by module_init()) tells the story:

kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
function needs to be 4-byte aligned.

v2:
 (Jani Nikula)
  - Change BUG_ON to WARN_ON

Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_context.c | 1 +
 drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
index ff637147b1a9..f02c2202da9d 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.c
+++ b/drivers/gpu/drm/i915/gt/intel_context.c
@@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
 	return 0;
 }
 
+__aligned(4)	/* Respect the I915_SW_FENCE_MASK */
 static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
 				 enum i915_sw_fence_notify state)
 {
diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
index c589a681da77..1217b124c1d0 100644
--- a/drivers/gpu/drm/i915/i915_sw_fence.c
+++ b/drivers/gpu/drm/i915/i915_sw_fence.c
@@ -14,8 +14,10 @@
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
 #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
+#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
 #else
 #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
+#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
 #endif
 
 static DEFINE_SPINLOCK(i915_sw_fence_lock);
@@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
 			  const char *name,
 			  struct lock_class_key *key)
 {
-	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
+	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
 
 	__init_waitqueue_head(&fence->wait, name, key);
 	fence->flags = (unsigned long)fn;
-- 
2.32.0


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

* [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-17 23:38 ` Matthew Brost
  0 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2021-09-17 23:38 UTC (permalink / raw)
  To: intel-gfx, dri-devel

From: Hugh Dickins <hughd@google.com>

5.15-rc1 crashes with blank screen when booting up on two ThinkPads
using i915.  Bisections converge convincingly, but arrive at different
and surprising "culprits", none of them the actual culprit.

netconsole (with init_netconsole() hacked to call i915_init() when
logging has started, instead of by module_init()) tells the story:

kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
function needs to be 4-byte aligned.

v2:
 (Jani Nikula)
  - Change BUG_ON to WARN_ON

Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_context.c | 1 +
 drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
index ff637147b1a9..f02c2202da9d 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.c
+++ b/drivers/gpu/drm/i915/gt/intel_context.c
@@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
 	return 0;
 }
 
+__aligned(4)	/* Respect the I915_SW_FENCE_MASK */
 static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
 				 enum i915_sw_fence_notify state)
 {
diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
index c589a681da77..1217b124c1d0 100644
--- a/drivers/gpu/drm/i915/i915_sw_fence.c
+++ b/drivers/gpu/drm/i915/i915_sw_fence.c
@@ -14,8 +14,10 @@
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
 #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
+#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
 #else
 #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
+#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
 #endif
 
 static DEFINE_SPINLOCK(i915_sw_fence_lock);
@@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
 			  const char *name,
 			  struct lock_class_key *key)
 {
-	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
+	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
 
 	__init_waitqueue_head(&fence->wait, name, key);
 	fence->flags = (unsigned long)fn;
-- 
2.32.0


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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: fix blank screen booting crashes (rev2)
  2021-09-17 23:38 ` [Intel-gfx] " Matthew Brost
  (?)
@ 2021-09-18  1:01 ` Patchwork
  -1 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2021-09-18  1:01 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 10590 bytes --]

== Series Details ==

Series: drm/i915: fix blank screen booting crashes (rev2)
URL   : https://patchwork.freedesktop.org/series/94822/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10605 -> Patchwork_21092
====================================================

Summary
-------

  **WARNING**

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

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/index.html

Possible new issues
-------------------

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

### IGT changes ###

#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-kbl-soraka:      [INCOMPLETE][1] ([i915#4130] / [i915#4136]) -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-kbl-soraka/igt@i915_module_load@reload.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-kbl-soraka/igt@i915_module_load@reload.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_module_load@reload:
    - {fi-ehl-2}:         [INCOMPLETE][3] ([i915#4136]) -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-ehl-2/igt@i915_module_load@reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-ehl-2/igt@i915_module_load@reload.html

  * igt@i915_pm_rpm@module-reload:
    - {fi-jsl-1}:         [PASS][5] -> [INCOMPLETE][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-jsl-1/igt@i915_pm_rpm@module-reload.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-jsl-1/igt@i915_pm_rpm@module-reload.html

  * igt@runner@aborted:
    - {fi-jsl-1}:         NOTRUN -> [FAIL][7]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-jsl-1/igt@runner@aborted.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@semaphore:
    - fi-icl-y:           NOTRUN -> [SKIP][8] ([fdo#109315]) +17 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-icl-y/igt@amdgpu/amd_basic@semaphore.html

  * igt@amdgpu/amd_cs_nop@sync-fork-gfx0:
    - fi-cfl-8700k:       NOTRUN -> [SKIP][9] ([fdo#109271]) +17 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-cfl-8700k/igt@amdgpu/amd_cs_nop@sync-fork-gfx0.html

  * igt@core_hotunplug@unbind-rebind:
    - fi-skl-6700k2:      [PASS][10] -> [INCOMPLETE][11] ([i915#4130])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
    - fi-cfl-guc:         [PASS][12] -> [INCOMPLETE][13] ([i915#4130])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
    - fi-tgl-1115g4:      NOTRUN -> [INCOMPLETE][14] ([i915#4130])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_huc_copy@huc-copy:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][15] ([i915#2190])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@gem_huc_copy@huc-copy.html

  * igt@i915_module_load@reload:
    - fi-kbl-7500u:       NOTRUN -> [INCOMPLETE][16] ([i915#4130])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-kbl-7500u/igt@i915_module_load@reload.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][17] ([i915#1155])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@i915_pm_backlight@basic-brightness.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][18] ([fdo#111827]) +8 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][19] ([i915#4103]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][20] ([fdo#109285])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_psr@primary_mmap_gtt:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][21] ([i915#1072]) +3 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@kms_psr@primary_mmap_gtt.html

  * igt@prime_vgem@basic-userptr:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][22] ([i915#3301])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-kbl-7500u:       NOTRUN -> [FAIL][23] ([i915#2426] / [i915#3363])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-kbl-7500u/igt@runner@aborted.html
    - fi-tgl-1115g4:      NOTRUN -> [FAIL][24] ([i915#1602] / [i915#2722])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-tgl-1115g4/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-cfl-8700k:       [INCOMPLETE][25] ([i915#4130]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7500u:       [INCOMPLETE][27] ([i915#4130]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_module_load@reload:
    - fi-kbl-7567u:       [DMESG-WARN][29] ([i915#4136]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-kbl-7567u/igt@i915_module_load@reload.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-kbl-7567u/igt@i915_module_load@reload.html
    - fi-skl-guc:         [DMESG-WARN][31] ([i915#4136]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-skl-guc/igt@i915_module_load@reload.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-skl-guc/igt@i915_module_load@reload.html
    - fi-kbl-guc:         [INCOMPLETE][33] ([i915#4139]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-kbl-guc/igt@i915_module_load@reload.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-kbl-guc/igt@i915_module_load@reload.html
    - fi-icl-y:           [INCOMPLETE][35] ([i915#4130]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-icl-y/igt@i915_module_load@reload.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-icl-y/igt@i915_module_load@reload.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-kbl-8809g:       [INCOMPLETE][37] ([i915#4136]) -> [INCOMPLETE][38] ([i915#4130])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-kbl-8809g/igt@i915_module_load@reload.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-kbl-8809g/igt@i915_module_load@reload.html
    - fi-cml-u2:          [INCOMPLETE][39] ([i915#4130] / [i915#4136]) -> [INCOMPLETE][40] ([i915#4136])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/fi-cml-u2/igt@i915_module_load@reload.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/fi-cml-u2/igt@i915_module_load@reload.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#2932]: https://gitlab.freedesktop.org/drm/intel/issues/2932
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3690]: https://gitlab.freedesktop.org/drm/intel/issues/3690
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130
  [i915#4136]: https://gitlab.freedesktop.org/drm/intel/issues/4136
  [i915#4139]: https://gitlab.freedesktop.org/drm/intel/issues/4139


Participating hosts (38 -> 31)
------------------------------

  Additional (1): fi-tgl-1115g4 
  Missing    (8): fi-ilk-m540 fi-rkl-guc bat-dg1-6 fi-tgl-u2 fi-hsw-4200u fi-ctg-p8600 bat-jsl-2 fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_10605 -> Patchwork_21092

  CI-20190529: 20190529
  CI_DRM_10605: e61e36045f57a5aaeef91f54274937843ee3d0d5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6211: 7b275b3eb17ddf6e7c5b7b9ba359b7f5345a5311 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21092: 81c54cebdfcfb6ba0480ce28d1aea1cfc8502657 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

81c54cebdfcf drm/i915: fix blank screen booting crashes

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/index.html

[-- Attachment #2: Type: text/html, Size: 12715 bytes --]

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: fix blank screen booting crashes (rev2)
  2021-09-17 23:38 ` [Intel-gfx] " Matthew Brost
  (?)
  (?)
@ 2021-09-18  2:36 ` Patchwork
  -1 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2021-09-18  2:36 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 21946 bytes --]

== Series Details ==

Series: drm/i915: fix blank screen booting crashes (rev2)
URL   : https://patchwork.freedesktop.org/series/94822/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10605_full -> Patchwork_21092_full
====================================================

Summary
-------

  **FAILURE**

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

  

Possible new issues
-------------------

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_schedule@pi-common@rcs0:
    - shard-skl:          [PASS][1] -> [FAIL][2] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl5/igt@gem_exec_schedule@pi-common@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl5/igt@gem_exec_schedule@pi-common@rcs0.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@preservation-s3@vecs0:
    - shard-kbl:          [PASS][3] -> [DMESG-WARN][4] ([i915#180]) +4 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@vecs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl1/igt@gem_ctx_isolation@preservation-s3@vecs0.html

  * igt@gem_ctx_sseu@engines:
    - shard-skl:          NOTRUN -> [SKIP][5] ([fdo#109271]) +8 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl6/igt@gem_ctx_sseu@engines.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-kbl:          [PASS][6] -> [FAIL][7] ([i915#2842])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-kbl3/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl7/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [PASS][8] -> [FAIL][9] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-tglb1/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb3/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_parallel@contexts@vecs0:
    - shard-iclb:         [PASS][10] -> [INCOMPLETE][11] ([i915#2624])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-iclb4/igt@gem_exec_parallel@contexts@vecs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-iclb7/igt@gem_exec_parallel@contexts@vecs0.html

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-tglb:         NOTRUN -> [SKIP][12] ([fdo#109283])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_exec_suspend@basic-s0:
    - shard-tglb:         [PASS][13] -> [INCOMPLETE][14] ([i915#456]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-tglb2/igt@gem_exec_suspend@basic-s0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb7/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_huc_copy@huc-copy:
    - shard-kbl:          NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#2190])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@gem_huc_copy@huc-copy.html

  * igt@gem_media_vme:
    - shard-tglb:         NOTRUN -> [SKIP][16] ([i915#284])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@gem_media_vme.html

  * igt@gem_pread@exhaustion:
    - shard-skl:          NOTRUN -> [WARN][17] ([i915#2658])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl5/igt@gem_pread@exhaustion.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-tglb:         NOTRUN -> [SKIP][18] ([i915#2856])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_pm_rpm@pc8-residency:
    - shard-tglb:         NOTRUN -> [SKIP][19] ([fdo#109506] / [i915#2411])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@i915_pm_rpm@pc8-residency.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-tglb:         [PASS][20] -> [INCOMPLETE][21] ([i915#2411] / [i915#456] / [i915#750])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-tglb5/igt@i915_pm_rpm@system-suspend-execbuf.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb7/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][22] ([fdo#111614]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
    - shard-tglb:         NOTRUN -> [SKIP][23] ([fdo#111615])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html

  * igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#3886]) +2 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][25] ([i915#3689] / [i915#3886])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][26] ([fdo#109271]) +57 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_ccs.html

  * igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([i915#3689]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs.html

  * igt@kms_chamelium@vga-frame-dump:
    - shard-skl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl1/igt@kms_chamelium@vga-frame-dump.html

  * igt@kms_color_chamelium@pipe-b-ctm-negative:
    - shard-tglb:         NOTRUN -> [SKIP][29] ([fdo#109284] / [fdo#111827]) +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_color_chamelium@pipe-b-ctm-negative.html

  * igt@kms_color_chamelium@pipe-b-degamma:
    - shard-kbl:          NOTRUN -> [SKIP][30] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@kms_color_chamelium@pipe-b-degamma.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-tglb:         NOTRUN -> [SKIP][31] ([i915#3116])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([i915#3359])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_cursor_crc@pipe-c-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][33] ([fdo#109279] / [i915#3359])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-512x512-offscreen.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-skl:          [PASS][34] -> [FAIL][35] ([i915#2346] / [i915#533])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_flip@flip-vs-expired-vblank@c-edp1:
    - shard-skl:          NOTRUN -> [FAIL][36] ([i915#79])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl5/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#111825]) +11 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#533])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
    - shard-kbl:          NOTRUN -> [FAIL][39] ([fdo#108145] / [i915#265]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html

  * igt@kms_plane_lowres@pipe-b-tiling-none:
    - shard-tglb:         NOTRUN -> [SKIP][40] ([i915#3536])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_plane_lowres@pipe-b-tiling-none.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3:
    - shard-kbl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#658])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
    - shard-tglb:         NOTRUN -> [SKIP][42] ([i915#2920]) +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html

  * igt@perf@polling-parameterized:
    - shard-skl:          [PASS][43] -> [FAIL][44] ([i915#1542])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl7/igt@perf@polling-parameterized.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl1/igt@perf@polling-parameterized.html

  * igt@perf@polling-small-buf:
    - shard-skl:          [PASS][45] -> [FAIL][46] ([i915#1722])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl1/igt@perf@polling-small-buf.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl8/igt@perf@polling-small-buf.html

  * igt@perf@short-reads:
    - shard-skl:          [PASS][47] -> [FAIL][48] ([i915#51])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl3/igt@perf@short-reads.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl6/igt@perf@short-reads.html

  * igt@perf_pmu@module-unload:
    - shard-skl:          [PASS][49] -> [DMESG-WARN][50] ([i915#1982] / [i915#262])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl8/igt@perf_pmu@module-unload.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl10/igt@perf_pmu@module-unload.html

  * igt@syncobj_timeline@invalid-signal-illegal-point:
    - shard-skl:          [PASS][51] -> [DMESG-WARN][52] ([i915#1982])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl8/igt@syncobj_timeline@invalid-signal-illegal-point.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl10/igt@syncobj_timeline@invalid-signal-illegal-point.html

  * igt@sysfs_clients@fair-7:
    - shard-tglb:         NOTRUN -> [SKIP][53] ([i915#2994])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@sysfs_clients@fair-7.html

  * igt@sysfs_clients@recycle:
    - shard-kbl:          NOTRUN -> [SKIP][54] ([fdo#109271] / [i915#2994]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@sysfs_clients@recycle.html

  
#### Possible fixes ####

  * igt@gem_eio@unwedge-stress:
    - shard-iclb:         [TIMEOUT][55] ([i915#2369] / [i915#2481] / [i915#3070]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-iclb8/igt@gem_eio@unwedge-stress.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-iclb6/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-tglb:         [FAIL][57] ([i915#2842]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-tglb3/igt@gem_exec_fair@basic-pace@vcs1.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb3/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@kms_color@pipe-b-ctm-green-to-red:
    - shard-skl:          [DMESG-WARN][59] ([i915#1982]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl3/igt@kms_color@pipe-b-ctm-green-to-red.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl7/igt@kms_color@pipe-b-ctm-green-to-red.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-skl:          [FAIL][61] ([i915#79]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-edp1:
    - shard-skl:          [INCOMPLETE][63] ([i915#146] / [i915#198]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl1/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl5/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-tglb:         [INCOMPLETE][65] ([i915#2411] / [i915#456]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-skl:          [INCOMPLETE][67] ([i915#198] / [i915#2828]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl8/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl5/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes:
    - shard-kbl:          [DMESG-WARN][69] ([i915#180]) -> [PASS][70] +5 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-kbl6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [FAIL][71] ([fdo#108145] / [i915#265]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@perf@polling-small-buf:
    - shard-tglb:         [FAIL][73] ([i915#1722]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-tglb6/igt@perf@polling-small-buf.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-tglb1/igt@perf@polling-small-buf.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-kbl:          [SKIP][75] ([fdo#109271]) -> [FAIL][76] ([i915#2842])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs1.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-kbl2/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-iclb:         [WARN][77] ([i915#1804] / [i915#2684]) -> [WARN][78] ([i915#2684])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-iclb7/igt@i915_pm_rc6_residency@rc6-fence.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-iclb5/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-skl:          [FAIL][79] ([i915#3743]) -> [FAIL][80] ([i915#3722])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-skl2/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-skl9/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-0:
    - shard-iclb:         [SKIP][81] ([i915#658]) -> [SKIP][82] ([i915#2920]) +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10605/shard-iclb4/igt@kms_psr2_sf@plane-move-sf-dmg-area-0.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-0.html

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

  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#146]: https://gitlab.freedesktop.org/drm/intel/issues/146
  [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804
  [i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369
  [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
  [i915#2481]: https://gitlab.freedesktop.org/drm/intel/issues/2481
  [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262
  [i915#2624]: https://gitlab.freedesktop.org/drm/intel/issues/2624
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
  [i915#2828]: https://gitlab.freedesktop.org/drm/intel/issues/2828
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3070]: https://gitlab.freedesktop.org/drm/intel/issues/3070
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3722]: https://gitlab.freedesktop.org/drm/intel/issues/3722
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
  [i915#51]: https://gitlab.freedesktop.org/drm/intel/issues/51
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#750]: https://gitlab.freedesktop.org/drm/intel/issues/750
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


Participating hosts (11 -> 10)
------------------------------

  Missing    (1): shard-rkl 


Build changes
-------------

  * Linux: CI_DRM_10605 -> Patchwork_21092

  CI-20190529: 20190529
  CI_DRM_10605: e61e36045f57a5aaeef91f54274937843ee3d0d5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6211: 7b275b3eb17ddf6e7c5b7b9ba359b7f5345a5311 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21092: 81c54cebdfcfb6ba0480ce28d1aea1cfc8502657 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21092/index.html

[-- Attachment #2: Type: text/html, Size: 26106 bytes --]

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-17 23:38 ` [Intel-gfx] " Matthew Brost
                   ` (2 preceding siblings ...)
  (?)
@ 2021-09-20  7:28 ` Tvrtko Ursulin
  2021-09-20  7:38   ` Jani Nikula
  2021-09-20 20:25   ` Matthew Brost
  -1 siblings, 2 replies; 14+ messages in thread
From: Tvrtko Ursulin @ 2021-09-20  7:28 UTC (permalink / raw)
  To: Matthew Brost, intel-gfx, dri-devel; +Cc: Jani Nikula, Hugh Dickins


On 18/09/2021 00:38, Matthew Brost wrote:
> From: Hugh Dickins <hughd@google.com>
> 
> 5.15-rc1 crashes with blank screen when booting up on two ThinkPads
> using i915.  Bisections converge convincingly, but arrive at different
> and surprising "culprits", none of them the actual culprit.

It is certainly surprising this patch crashed SNB and KBL.

How feasible would it be to make this code just not run when GuC is not 
used? Given the field it adds is called ce->guc_blocked it sounds like a 
natural and preferable thing to do... if possible.

> netconsole (with init_netconsole() hacked to call i915_init() when
> logging has started, instead of by module_init()) tells the story:
> 
> kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
> with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
> I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
> function needs to be 4-byte aligned.
> 
> v2:
>   (Jani Nikula)
>    - Change BUG_ON to WARN_ON

However in this case the code would then go on and call into a wrong 
function offset which may be worse than a BUG_ON, no?

> 
> Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
> Signed-off-by: Hugh Dickins <hughd@google.com>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> ---
>   drivers/gpu/drm/i915/gt/intel_context.c | 1 +
>   drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
>   2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
> index ff637147b1a9..f02c2202da9d 100644
> --- a/drivers/gpu/drm/i915/gt/intel_context.c
> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
> @@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
>   	return 0;
>   }
>   
> +__aligned(4)	/* Respect the I915_SW_FENCE_MASK */

Hugh suggested __i915_sw_fence_call which I think would be the right 
thing to do.

Regards,

Tvrtko

>   static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
>   				 enum i915_sw_fence_notify state)
>   {
> diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
> index c589a681da77..1217b124c1d0 100644
> --- a/drivers/gpu/drm/i915/i915_sw_fence.c
> +++ b/drivers/gpu/drm/i915/i915_sw_fence.c
> @@ -14,8 +14,10 @@
>   
>   #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
>   #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
> +#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
>   #else
>   #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
> +#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
>   #endif
>   
>   static DEFINE_SPINLOCK(i915_sw_fence_lock);
> @@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
>   			  const char *name,
>   			  struct lock_class_key *key)
>   {
> -	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
> +	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
>   
>   	__init_waitqueue_head(&fence->wait, name, key);
>   	fence->flags = (unsigned long)fn;
> 

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-20  7:28 ` [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes Tvrtko Ursulin
@ 2021-09-20  7:38   ` Jani Nikula
  2021-09-20  7:42     ` Tvrtko Ursulin
  2021-09-20 20:25   ` Matthew Brost
  1 sibling, 1 reply; 14+ messages in thread
From: Jani Nikula @ 2021-09-20  7:38 UTC (permalink / raw)
  To: Tvrtko Ursulin, Matthew Brost, intel-gfx, dri-devel; +Cc: Hugh Dickins

On Mon, 20 Sep 2021, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> wrote:
> On 18/09/2021 00:38, Matthew Brost wrote:
>> From: Hugh Dickins <hughd@google.com>
>> 
>> 5.15-rc1 crashes with blank screen when booting up on two ThinkPads
>> using i915.  Bisections converge convincingly, but arrive at different
>> and surprising "culprits", none of them the actual culprit.
>
> It is certainly surprising this patch crashed SNB and KBL.
>
> How feasible would it be to make this code just not run when GuC is not 
> used? Given the field it adds is called ce->guc_blocked it sounds like a 
> natural and preferable thing to do... if possible.
>
>> netconsole (with init_netconsole() hacked to call i915_init() when
>> logging has started, instead of by module_init()) tells the story:
>> 
>> kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
>> with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
>> I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
>> function needs to be 4-byte aligned.
>> 
>> v2:
>>   (Jani Nikula)
>>    - Change BUG_ON to WARN_ON
>
> However in this case the code would then go on and call into a wrong 
> function offset which may be worse than a BUG_ON, no?

So how about just

if (WARN_ON(...))
	return;

or whatever is needed to give both the user and the CI a better
opportunity to see the error.


BR,
Jani


>
>> 
>> Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
>> Signed-off-by: Hugh Dickins <hughd@google.com>
>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
>> ---
>>   drivers/gpu/drm/i915/gt/intel_context.c | 1 +
>>   drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
>>   2 files changed, 4 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
>> index ff637147b1a9..f02c2202da9d 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_context.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
>> @@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
>>   	return 0;
>>   }
>>   
>> +__aligned(4)	/* Respect the I915_SW_FENCE_MASK */
>
> Hugh suggested __i915_sw_fence_call which I think would be the right 
> thing to do.
>
> Regards,
>
> Tvrtko
>
>>   static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
>>   				 enum i915_sw_fence_notify state)
>>   {
>> diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
>> index c589a681da77..1217b124c1d0 100644
>> --- a/drivers/gpu/drm/i915/i915_sw_fence.c
>> +++ b/drivers/gpu/drm/i915/i915_sw_fence.c
>> @@ -14,8 +14,10 @@
>>   
>>   #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
>>   #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
>> +#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
>>   #else
>>   #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
>> +#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
>>   #endif
>>   
>>   static DEFINE_SPINLOCK(i915_sw_fence_lock);
>> @@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
>>   			  const char *name,
>>   			  struct lock_class_key *key)
>>   {
>> -	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
>> +	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
>>   
>>   	__init_waitqueue_head(&fence->wait, name, key);
>>   	fence->flags = (unsigned long)fn;
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-20  7:38   ` Jani Nikula
@ 2021-09-20  7:42     ` Tvrtko Ursulin
  2021-09-20 20:29       ` Matthew Brost
  0 siblings, 1 reply; 14+ messages in thread
From: Tvrtko Ursulin @ 2021-09-20  7:42 UTC (permalink / raw)
  To: Jani Nikula, Matthew Brost, intel-gfx, dri-devel; +Cc: Hugh Dickins


On 20/09/2021 08:38, Jani Nikula wrote:
> On Mon, 20 Sep 2021, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> wrote:
>> On 18/09/2021 00:38, Matthew Brost wrote:
>>> From: Hugh Dickins <hughd@google.com>
>>>
>>> 5.15-rc1 crashes with blank screen when booting up on two ThinkPads
>>> using i915.  Bisections converge convincingly, but arrive at different
>>> and surprising "culprits", none of them the actual culprit.
>>
>> It is certainly surprising this patch crashed SNB and KBL.
>>
>> How feasible would it be to make this code just not run when GuC is not
>> used? Given the field it adds is called ce->guc_blocked it sounds like a
>> natural and preferable thing to do... if possible.
>>
>>> netconsole (with init_netconsole() hacked to call i915_init() when
>>> logging has started, instead of by module_init()) tells the story:
>>>
>>> kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
>>> with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
>>> I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
>>> function needs to be 4-byte aligned.
>>>
>>> v2:
>>>    (Jani Nikula)
>>>     - Change BUG_ON to WARN_ON
>>
>> However in this case the code would then go on and call into a wrong
>> function offset which may be worse than a BUG_ON, no?
> 
> So how about just
> 
> if (WARN_ON(...))
> 	return;
> 
> or whatever is needed to give both the user and the CI a better
> opportunity to see the error.

Sounds good to me.

Regards,

Tvrtko


> 
> BR,
> Jani
> 
> 
>>
>>>
>>> Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
>>> Signed-off-by: Hugh Dickins <hughd@google.com>
>>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>>> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
>>> ---
>>>    drivers/gpu/drm/i915/gt/intel_context.c | 1 +
>>>    drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
>>>    2 files changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
>>> index ff637147b1a9..f02c2202da9d 100644
>>> --- a/drivers/gpu/drm/i915/gt/intel_context.c
>>> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
>>> @@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
>>>    	return 0;
>>>    }
>>>    
>>> +__aligned(4)	/* Respect the I915_SW_FENCE_MASK */
>>
>> Hugh suggested __i915_sw_fence_call which I think would be the right
>> thing to do.
>>
>> Regards,
>>
>> Tvrtko
>>
>>>    static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
>>>    				 enum i915_sw_fence_notify state)
>>>    {
>>> diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
>>> index c589a681da77..1217b124c1d0 100644
>>> --- a/drivers/gpu/drm/i915/i915_sw_fence.c
>>> +++ b/drivers/gpu/drm/i915/i915_sw_fence.c
>>> @@ -14,8 +14,10 @@
>>>    
>>>    #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
>>>    #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
>>> +#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
>>>    #else
>>>    #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
>>> +#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
>>>    #endif
>>>    
>>>    static DEFINE_SPINLOCK(i915_sw_fence_lock);
>>> @@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
>>>    			  const char *name,
>>>    			  struct lock_class_key *key)
>>>    {
>>> -	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
>>> +	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
>>>    
>>>    	__init_waitqueue_head(&fence->wait, name, key);
>>>    	fence->flags = (unsigned long)fn;
>>>
> 

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-20  7:28 ` [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes Tvrtko Ursulin
  2021-09-20  7:38   ` Jani Nikula
@ 2021-09-20 20:25   ` Matthew Brost
  1 sibling, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2021-09-20 20:25 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx, dri-devel, Jani Nikula, Hugh Dickins

On Mon, Sep 20, 2021 at 08:28:13AM +0100, Tvrtko Ursulin wrote:
> 
> On 18/09/2021 00:38, Matthew Brost wrote:
> > From: Hugh Dickins <hughd@google.com>
> > 
> > 5.15-rc1 crashes with blank screen when booting up on two ThinkPads
> > using i915.  Bisections converge convincingly, but arrive at different
> > and surprising "culprits", none of them the actual culprit.
> 
> It is certainly surprising this patch crashed SNB and KBL.
> 
> How feasible would it be to make this code just not run when GuC is not
> used? Given the field it adds is called ce->guc_blocked it sounds like a
> natural and preferable thing to do... if possible.
> 

I can likely do this in a follow up patch.

> > netconsole (with init_netconsole() hacked to call i915_init() when
> > logging has started, instead of by module_init()) tells the story:
> > 
> > kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
> > with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
> > I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
> > function needs to be 4-byte aligned.
> > 
> > v2:
> >   (Jani Nikula)
> >    - Change BUG_ON to WARN_ON
> 
> However in this case the code would then go on and call into a wrong
> function offset which may be worse than a BUG_ON, no?
>

Yea, I guess that would be bad too.
 
> > 
> > Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
> > Signed-off-by: Hugh Dickins <hughd@google.com>
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> >   drivers/gpu/drm/i915/gt/intel_context.c | 1 +
> >   drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
> >   2 files changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
> > index ff637147b1a9..f02c2202da9d 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_context.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_context.c
> > @@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
> >   	return 0;
> >   }
> > +__aligned(4)	/* Respect the I915_SW_FENCE_MASK */
> 
> Hugh suggested __i915_sw_fence_call which I think would be the right thing
> to do.
> 

Yep. Will do.

Matt

> Regards,
> 
> Tvrtko
> 
> >   static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
> >   				 enum i915_sw_fence_notify state)
> >   {
> > diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
> > index c589a681da77..1217b124c1d0 100644
> > --- a/drivers/gpu/drm/i915/i915_sw_fence.c
> > +++ b/drivers/gpu/drm/i915/i915_sw_fence.c
> > @@ -14,8 +14,10 @@
> >   #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
> >   #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
> > +#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
> >   #else
> >   #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
> > +#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
> >   #endif
> >   static DEFINE_SPINLOCK(i915_sw_fence_lock);
> > @@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
> >   			  const char *name,
> >   			  struct lock_class_key *key)
> >   {
> > -	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
> > +	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
> >   	__init_waitqueue_head(&fence->wait, name, key);
> >   	fence->flags = (unsigned long)fn;
> > 

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-20  7:42     ` Tvrtko Ursulin
@ 2021-09-20 20:29       ` Matthew Brost
  0 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2021-09-20 20:29 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: Jani Nikula, intel-gfx, dri-devel, Hugh Dickins

On Mon, Sep 20, 2021 at 08:42:42AM +0100, Tvrtko Ursulin wrote:
> 
> On 20/09/2021 08:38, Jani Nikula wrote:
> > On Mon, 20 Sep 2021, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> wrote:
> > > On 18/09/2021 00:38, Matthew Brost wrote:
> > > > From: Hugh Dickins <hughd@google.com>
> > > > 
> > > > 5.15-rc1 crashes with blank screen when booting up on two ThinkPads
> > > > using i915.  Bisections converge convincingly, but arrive at different
> > > > and surprising "culprits", none of them the actual culprit.
> > > 
> > > It is certainly surprising this patch crashed SNB and KBL.
> > > 
> > > How feasible would it be to make this code just not run when GuC is not
> > > used? Given the field it adds is called ce->guc_blocked it sounds like a
> > > natural and preferable thing to do... if possible.
> > > 
> > > > netconsole (with init_netconsole() hacked to call i915_init() when
> > > > logging has started, instead of by module_init()) tells the story:
> > > > 
> > > > kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
> > > > with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
> > > > I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
> > > > function needs to be 4-byte aligned.
> > > > 
> > > > v2:
> > > >    (Jani Nikula)
> > > >     - Change BUG_ON to WARN_ON
> > > 
> > > However in this case the code would then go on and call into a wrong
> > > function offset which may be worse than a BUG_ON, no?
> > 
> > So how about just
> > 
> > if (WARN_ON(...))
> > 	return;

I don't think it is quite that simple as if we short circuit this
function fence->flags will be NULL which would be bad too. I'll have
make a few more changes to make this safe.

Matt

> > 
> > or whatever is needed to give both the user and the CI a better
> > opportunity to see the error.
> 
> Sounds good to me.
> 
> Regards,
> 
> Tvrtko
> 
> 
> > 
> > BR,
> > Jani
> > 
> > 
> > > 
> > > > 
> > > > Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
> > > > Signed-off-by: Hugh Dickins <hughd@google.com>
> > > > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > > > Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> > > > ---
> > > >    drivers/gpu/drm/i915/gt/intel_context.c | 1 +
> > > >    drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
> > > >    2 files changed, 4 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
> > > > index ff637147b1a9..f02c2202da9d 100644
> > > > --- a/drivers/gpu/drm/i915/gt/intel_context.c
> > > > +++ b/drivers/gpu/drm/i915/gt/intel_context.c
> > > > @@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
> > > >    	return 0;
> > > >    }
> > > > +__aligned(4)	/* Respect the I915_SW_FENCE_MASK */
> > > 
> > > Hugh suggested __i915_sw_fence_call which I think would be the right
> > > thing to do.
> > > 
> > > Regards,
> > > 
> > > Tvrtko
> > > 
> > > >    static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
> > > >    				 enum i915_sw_fence_notify state)
> > > >    {
> > > > diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
> > > > index c589a681da77..1217b124c1d0 100644
> > > > --- a/drivers/gpu/drm/i915/i915_sw_fence.c
> > > > +++ b/drivers/gpu/drm/i915/i915_sw_fence.c
> > > > @@ -14,8 +14,10 @@
> > > >    #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
> > > >    #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
> > > > +#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
> > > >    #else
> > > >    #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
> > > > +#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
> > > >    #endif
> > > >    static DEFINE_SPINLOCK(i915_sw_fence_lock);
> > > > @@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
> > > >    			  const char *name,
> > > >    			  struct lock_class_key *key)
> > > >    {
> > > > -	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
> > > > +	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
> > > >    	__init_waitqueue_head(&fence->wait, name, key);
> > > >    	fence->flags = (unsigned long)fn;
> > > > 
> > 

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

* Re: [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-24 12:16 ` Ville Syrjälä
@ 2021-10-04  7:36   ` Jani Nikula
  0 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2021-10-04  7:36 UTC (permalink / raw)
  To: Ville Syrjälä, Matthew Brost; +Cc: intel-gfx, dri-devel

On Fri, 24 Sep 2021, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Tue, Sep 21, 2021 at 06:50:39PM -0700, Matthew Brost wrote:
>> From: Hugh Dickins <hughd@google.com>
>> 
>> 5.15-rc1 crashes with blank screen when booting up on two ThinkPads
>> using i915.  Bisections converge convincingly, but arrive at different
>> and surprising "culprits", none of them the actual culprit.
>> 
>> netconsole (with init_netconsole() hacked to call i915_init() when
>> logging has started, instead of by module_init()) tells the story:
>> 
>> kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
>> with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
>> I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
>> function needs to be 4-byte aligned.
>> 
>> v2:
>>  (Jani Nikula)
>>   - Change BUG_ON to WARN_ON
>> v3:
>>  (Jani / Tvrtko)
>>   - Short circuit __i915_sw_fence_init on WARN_ON
>> v4:
>>  (Lucas)
>>   - Break WARN_ON changes out in a different patch
>> 
>> Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
>> Signed-off-by: Hugh Dickins <hughd@google.com>
>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
>> ---
>>  drivers/gpu/drm/i915/gt/intel_context.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
>> index ff637147b1a9..e7f78bc7ebfc 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_context.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
>> @@ -362,8 +362,8 @@ static int __intel_context_active(struct i915_active *active)
>>  	return 0;
>>  }
>>  
>> -static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
>> -				 enum i915_sw_fence_notify state)
>> +static int __i915_sw_fence_call
>> +sw_fence_dummy_notify(struct i915_sw_fence *sf, enum i915_sw_fence_notify state)
>>  {
>>  	return NOTIFY_DONE;
>>  }
>
> This thing seems broken beyond just this alignment stuff. I'm getting
> this spew from DEBUG_OBJECTS all the time on a glk here:

Nobody followed through with this, so:

https://lore.kernel.org/r/20211002020257.34a0e882@oasis.local.home

and

cdc1e6e225e3 ("drm/i915: fix blank screen booting crashes")


BR,
Jani.


>
> [   48.122629] ------------[ cut here ]------------
> [   48.122640] ODEBUG: init destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
> [   48.122963] WARNING: CPU: 0 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
> [   48.122976] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
> [   48.123119] CPU: 0 PID: 815 Comm: kms_async_flips Not tainted 5.15.0-rc2-hsw+ #131
> [   48.123125] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
> [   48.123129] RIP: 0010:debug_print_object+0x6e/0x90
> [   48.123137] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
> [   48.123142] RSP: 0018:ffffc90000dabae0 EFLAGS: 00010282
> [   48.123150] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
> [   48.123154] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
> [   48.123159] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
> [   48.123163] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
> [   48.123167] R13: ffff88810a07d308 R14: ffff888109990800 R15: ffff88810997b800
> [   48.123171] FS:  00007ffff624b9c0(0000) GS:ffff888276e00000(0000) knlGS:0000000000000000
> [   48.123176] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   48.123181] CR2: 00007ffff7f93bf0 CR3: 0000000108e56000 CR4: 0000000000350ef0
> [   48.123185] Call Trace:
> [   48.123190]  i915_sw_fence_reinit+0x15/0x40 [i915]
> [   48.123341]  intel_context_init+0x16b/0x1d0 [i915]
> [   48.123492]  intel_context_create+0x33/0x100 [i915]
> [   48.123642]  default_engines+0x9d/0x120 [i915]
> [   48.123806]  i915_gem_create_context+0x465/0x630 [i915]
> [   48.125964]  ? trace_kmalloc+0x29/0xd0
> [   48.125976]  ? kmem_cache_alloc_trace+0x121/0x620
> [   48.125984]  i915_gem_context_open+0x145/0x1d0 [i915]
> [   48.126172]  i915_gem_open+0x75/0xb0 [i915]
> [   48.126364]  drm_file_alloc+0x1b1/0x280 [drm]
> [   48.126427]  drm_open+0xde/0x250 [drm]
> [   48.126482]  drm_stub_open+0xa8/0x130 [drm]
> [   48.126538]  chrdev_open+0xbf/0x240
> [   48.126547]  ? cdev_device_add+0x90/0x90
> [   48.126553]  do_dentry_open+0x151/0x3a0
> [   48.126560]  path_openat+0x76f/0xa10
> [   48.126568]  do_filp_open+0xa9/0x150
> [   48.126575]  ? preempt_count_sub+0x9b/0xd0
> [   48.126584]  ? _raw_spin_unlock+0x29/0x40
> [   48.126593]  do_sys_openat2+0x97/0x160
> [   48.126600]  __x64_sys_openat+0x54/0x90
> [   48.126607]  do_syscall_64+0x38/0x90
> [   48.126614]  entry_SYSCALL_64_after_hwframe+0x44/0xae
> [   48.126622] RIP: 0033:0x7ffff7cdca5b
> [   48.126630] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
> [   48.126636] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
> [   48.126645] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
> [   48.126649] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
> [   48.126654] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
> [   48.126658] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
> [   48.126663] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
> [   48.126669] irq event stamp: 29565
> [   48.126673] hardirqs last  enabled at (29571): [<ffffffff81126357>] __up_console_sem+0x67/0x70
> [   48.126682] hardirqs last disabled at (29576): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
> [   48.126689] softirqs last  enabled at (29394): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
> [   48.126696] softirqs last disabled at (29371): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
> [   48.126704] ---[ end trace 4978f2ce56481e4b ]---
> [   48.126711] ------------[ cut here ]------------
> [   48.126714] ODEBUG: activate destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
> [   48.127053] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
> [   48.127062] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
> [   48.127216] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
> [   48.127221] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
> [   48.127226] RIP: 0010:debug_print_object+0x6e/0x90
> [   48.127232] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
> [   48.127238] RSP: 0018:ffffc90000daba88 EFLAGS: 00010282
> [   48.127245] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
> [   48.127250] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
> [   48.127254] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
> [   48.127259] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d468
> [   48.127263] R13: ffffffffa0577480 R14: ffffffff835ce0b8 R15: ffff88810997b800
> [   48.127268] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
> [   48.127273] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   48.127277] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
> [   48.127282] Call Trace:
> [   48.127287]  debug_object_activate+0x174/0x200
> [   48.127296]  i915_sw_fence_commit+0x15/0x20 [i915]
> [   48.127461]  intel_context_init+0x173/0x1d0 [i915]
> [   48.127627]  intel_context_create+0x33/0x100 [i915]
> [   48.127792]  default_engines+0x9d/0x120 [i915]
> [   48.127971]  i915_gem_create_context+0x465/0x630 [i915]
> [   48.128195]  ? trace_kmalloc+0x29/0xd0
> [   48.128203]  ? kmem_cache_alloc_trace+0x121/0x620
> [   48.128211]  i915_gem_context_open+0x145/0x1d0 [i915]
> [   48.128389]  i915_gem_open+0x75/0xb0 [i915]
> [   48.128577]  drm_file_alloc+0x1b1/0x280 [drm]
> [   48.128632]  drm_open+0xde/0x250 [drm]
> [   48.128687]  drm_stub_open+0xa8/0x130 [drm]
> [   48.128742]  chrdev_open+0xbf/0x240
> [   48.128749]  ? cdev_device_add+0x90/0x90
> [   48.128754]  do_dentry_open+0x151/0x3a0
> [   48.128761]  path_openat+0x76f/0xa10
> [   48.128768]  do_filp_open+0xa9/0x150
> [   48.128775]  ? preempt_count_sub+0x9b/0xd0
> [   48.128782]  ? _raw_spin_unlock+0x29/0x40
> [   48.128789]  do_sys_openat2+0x97/0x160
> [   48.128795]  __x64_sys_openat+0x54/0x90
> [   48.128802]  do_syscall_64+0x38/0x90
> [   48.128808]  entry_SYSCALL_64_after_hwframe+0x44/0xae
> [   48.128815] RIP: 0033:0x7ffff7cdca5b
> [   48.128821] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
> [   48.128826] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
> [   48.128835] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
> [   48.128839] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
> [   48.128844] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
> [   48.128848] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
> [   48.128852] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
> [   48.128859] irq event stamp: 30217
> [   48.128862] hardirqs last  enabled at (30223): [<ffffffff81126357>] __up_console_sem+0x67/0x70
> [   48.128869] hardirqs last disabled at (30228): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
> [   48.128875] softirqs last  enabled at (30050): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
> [   48.128881] softirqs last disabled at (30035): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
> [   48.128888] ---[ end trace 4978f2ce56481e4c ]---
> [   48.128895] ------------[ cut here ]------------
> [   48.128899] ODEBUG: active_state destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
> [   48.129179] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
> [   48.129187] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
> [   48.129328] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
> [   48.129334] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
> [   48.129338] RIP: 0010:debug_print_object+0x6e/0x90
> [   48.129344] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
> [   48.129350] RSP: 0018:ffffc90000dabaa8 EFLAGS: 00010286
> [   48.129357] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
> [   48.129362] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
> [   48.129366] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
> [   48.129371] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
> [   48.129375] R13: ffff88810a07d308 R14: 0000000000000000 R15: ffff88810997b800
> [   48.129379] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
> [   48.129384] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   48.129389] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
> [   48.129393] Call Trace:
> [   48.129398]  __i915_sw_fence_complete+0x70/0x240 [i915]
> [   48.129564]  ? preempt_count_sub+0x9b/0xd0
> [   48.129572]  intel_context_init+0x173/0x1d0 [i915]
> [   48.129738]  intel_context_create+0x33/0x100 [i915]
> [   48.129902]  default_engines+0x9d/0x120 [i915]
> [   48.130080]  i915_gem_create_context+0x465/0x630 [i915]
> [   48.130258]  ? trace_kmalloc+0x29/0xd0
> [   48.130264]  ? kmem_cache_alloc_trace+0x121/0x620
> [   48.130271]  i915_gem_context_open+0x145/0x1d0 [i915]
> [   48.130449]  i915_gem_open+0x75/0xb0 [i915]
> [   48.130635]  drm_file_alloc+0x1b1/0x280 [drm]
> [   48.130689]  drm_open+0xde/0x250 [drm]
> [   48.130744]  drm_stub_open+0xa8/0x130 [drm]
> [   48.130801]  chrdev_open+0xbf/0x240
> [   48.130807]  ? cdev_device_add+0x90/0x90
> [   48.130813]  do_dentry_open+0x151/0x3a0
> [   48.130819]  path_openat+0x76f/0xa10
> [   48.130826]  do_filp_open+0xa9/0x150
> [   48.130833]  ? preempt_count_sub+0x9b/0xd0
> [   48.130839]  ? _raw_spin_unlock+0x29/0x40
> [   48.130847]  do_sys_openat2+0x97/0x160
> [   48.130853]  __x64_sys_openat+0x54/0x90
> [   48.130860]  do_syscall_64+0x38/0x90
> [   48.130866]  entry_SYSCALL_64_after_hwframe+0x44/0xae
> [   48.130873] RIP: 0033:0x7ffff7cdca5b
> [   48.130878] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
> [   48.130883] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
> [   48.130892] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
> [   48.130896] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
> [   48.130901] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
> [   48.130905] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
> [   48.130909] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
> [   48.130916] irq event stamp: 30843
> [   48.130919] hardirqs last  enabled at (30849): [<ffffffff81126357>] __up_console_sem+0x67/0x70
> [   48.130926] hardirqs last disabled at (30854): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
> [   48.130932] softirqs last  enabled at (30050): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
> [   48.130938] softirqs last disabled at (30035): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
> [   48.130944] ---[ end trace 4978f2ce56481e4d ]---
> [   48.130950] ------------[ cut here ]------------
> [   48.130954] ODEBUG: active_state destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
> [   48.131232] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
> [   48.131240] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
> [   48.131381] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
> [   48.131387] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
> [   48.131391] RIP: 0010:debug_print_object+0x6e/0x90
> [   48.131397] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
> [   48.131402] RSP: 0018:ffffc90000dabaa8 EFLAGS: 00010286
> [   48.131410] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
> [   48.131414] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
> [   48.131419] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
> [   48.131423] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
> [   48.131427] R13: ffff88810a07d308 R14: 0000000000000000 R15: ffff88810997b800
> [   48.131432] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
> [   48.131437] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   48.131441] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
> [   48.131446] Call Trace:
> [   48.131450]  __i915_sw_fence_complete+0x9c/0x240 [i915]
> [   48.131614]  ? preempt_count_sub+0x9b/0xd0
> [   48.131622]  intel_context_init+0x173/0x1d0 [i915]
> [   48.131787]  intel_context_create+0x33/0x100 [i915]
> [   48.131951]  default_engines+0x9d/0x120 [i915]
> [   48.132129]  i915_gem_create_context+0x465/0x630 [i915]
> [   48.132306]  ? trace_kmalloc+0x29/0xd0
> [   48.132313]  ? kmem_cache_alloc_trace+0x121/0x620
> [   48.132320]  i915_gem_context_open+0x145/0x1d0 [i915]
> [   48.132498]  i915_gem_open+0x75/0xb0 [i915]
> [   48.132685]  drm_file_alloc+0x1b1/0x280 [drm]
> [   48.132739]  drm_open+0xde/0x250 [drm]
> [   48.132793]  drm_stub_open+0xa8/0x130 [drm]
> [   48.132849]  chrdev_open+0xbf/0x240
> [   48.132855]  ? cdev_device_add+0x90/0x90
> [   48.132861]  do_dentry_open+0x151/0x3a0
> [   48.132867]  path_openat+0x76f/0xa10
> [   48.132874]  do_filp_open+0xa9/0x150
> [   48.132881]  ? preempt_count_sub+0x9b/0xd0
> [   48.132887]  ? _raw_spin_unlock+0x29/0x40
> [   48.132895]  do_sys_openat2+0x97/0x160
> [   48.132901]  __x64_sys_openat+0x54/0x90
> [   48.132907]  do_syscall_64+0x38/0x90
> [   48.132914]  entry_SYSCALL_64_after_hwframe+0x44/0xae
> [   48.132921] RIP: 0033:0x7ffff7cdca5b
> [   48.132926] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
> [   48.132931] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
> [   48.132939] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
> [   48.132944] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
> [   48.132948] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
> [   48.132952] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
> [   48.132956] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
> [   48.132963] irq event stamp: 31465
> [   48.132966] hardirqs last  enabled at (31471): [<ffffffff81126357>] __up_console_sem+0x67/0x70
> [   48.132973] hardirqs last disabled at (31476): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
> [   48.132979] softirqs last  enabled at (30050): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
> [   48.132984] softirqs last disabled at (30035): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
> [   48.132991] ---[ end trace 4978f2ce56481e4e ]---
> [   48.132996] ------------[ cut here ]------------
> [   48.133000] ODEBUG: deactivate destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
> [   48.133277] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
> [   48.133284] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
> [   48.133425] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
> [   48.133430] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
> [   48.133434] RIP: 0010:debug_print_object+0x6e/0x90
> [   48.133440] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
> [   48.133445] RSP: 0018:ffffc90000dabaa8 EFLAGS: 00010286
> [   48.133453] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
> [   48.133458] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
> [   48.133462] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
> [   48.133468] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
> [   48.133472] R13: ffff88810a07d308 R14: 0000000000000000 R15: ffff88810997b800
> [   48.133476] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
> [   48.133481] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   48.133486] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
> [   48.133490] Call Trace:
> [   48.133495]  __i915_sw_fence_complete+0xab/0x240 [i915]
> [   48.133658]  ? preempt_count_sub+0x9b/0xd0
> [   48.133666]  intel_context_init+0x173/0x1d0 [i915]
> [   48.133830]  intel_context_create+0x33/0x100 [i915]
> [   48.142705]  default_engines+0x9d/0x120 [i915]
> [   48.142861]  i915_gem_create_context+0x465/0x630 [i915]
> [   48.142996]  ? trace_kmalloc+0x29/0xd0
> [   48.143003]  ? kmem_cache_alloc_trace+0x121/0x620
> [   48.143009]  i915_gem_context_open+0x145/0x1d0 [i915]
> [   48.143141]  i915_gem_open+0x75/0xb0 [i915]
> [   48.143438]  drm_file_alloc+0x1b1/0x280 [drm]
> [   48.143516]  drm_open+0xde/0x250 [drm]
> [   48.143557]  drm_stub_open+0xa8/0x130 [drm]
> [   48.143598]  chrdev_open+0xbf/0x240
> [   48.143604]  ? cdev_device_add+0x90/0x90
> [   48.143608]  do_dentry_open+0x151/0x3a0
> [   48.143614]  path_openat+0x76f/0xa10
> [   48.143619]  do_filp_open+0xa9/0x150
> [   48.143625]  ? preempt_count_sub+0x9b/0xd0
> [   48.143631]  ? _raw_spin_unlock+0x29/0x40
> [   48.143638]  do_sys_openat2+0x97/0x160
> [   48.143644]  __x64_sys_openat+0x54/0x90
> [   48.143648]  do_syscall_64+0x38/0x90
> [   48.143654]  entry_SYSCALL_64_after_hwframe+0x44/0xae
> [   48.143660] RIP: 0033:0x7ffff7cdca5b
> [   48.143664] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
> [   48.143668] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
> [   48.143675] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
> [   48.143679] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
> [   48.143682] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
> [   48.143685] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
> [   48.143688] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
> [   48.143693] irq event stamp: 32275
> [   48.143696] hardirqs last  enabled at (32281): [<ffffffff81126357>] __up_console_sem+0x67/0x70
> [   48.143701] hardirqs last disabled at (32286): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
> [   48.143706] softirqs last  enabled at (32138): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
> [   48.143710] softirqs last disabled at (32125): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
> [   48.143716] ---[ end trace 4978f2ce56481e4f ]---

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-22  1:50 Matthew Brost
@ 2021-09-24 12:16 ` Ville Syrjälä
  2021-10-04  7:36   ` Jani Nikula
  0 siblings, 1 reply; 14+ messages in thread
From: Ville Syrjälä @ 2021-09-24 12:16 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-gfx, dri-devel

On Tue, Sep 21, 2021 at 06:50:39PM -0700, Matthew Brost wrote:
> From: Hugh Dickins <hughd@google.com>
> 
> 5.15-rc1 crashes with blank screen when booting up on two ThinkPads
> using i915.  Bisections converge convincingly, but arrive at different
> and surprising "culprits", none of them the actual culprit.
> 
> netconsole (with init_netconsole() hacked to call i915_init() when
> logging has started, instead of by module_init()) tells the story:
> 
> kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
> with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
> I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
> function needs to be 4-byte aligned.
> 
> v2:
>  (Jani Nikula)
>   - Change BUG_ON to WARN_ON
> v3:
>  (Jani / Tvrtko)
>   - Short circuit __i915_sw_fence_init on WARN_ON
> v4:
>  (Lucas)
>   - Break WARN_ON changes out in a different patch
> 
> Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
> Signed-off-by: Hugh Dickins <hughd@google.com>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_context.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
> index ff637147b1a9..e7f78bc7ebfc 100644
> --- a/drivers/gpu/drm/i915/gt/intel_context.c
> +++ b/drivers/gpu/drm/i915/gt/intel_context.c
> @@ -362,8 +362,8 @@ static int __intel_context_active(struct i915_active *active)
>  	return 0;
>  }
>  
> -static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
> -				 enum i915_sw_fence_notify state)
> +static int __i915_sw_fence_call
> +sw_fence_dummy_notify(struct i915_sw_fence *sf, enum i915_sw_fence_notify state)
>  {
>  	return NOTIFY_DONE;
>  }

This thing seems broken beyond just this alignment stuff. I'm getting
this spew from DEBUG_OBJECTS all the time on a glk here:

[   48.122629] ------------[ cut here ]------------
[   48.122640] ODEBUG: init destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
[   48.122963] WARNING: CPU: 0 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
[   48.122976] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
[   48.123119] CPU: 0 PID: 815 Comm: kms_async_flips Not tainted 5.15.0-rc2-hsw+ #131
[   48.123125] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
[   48.123129] RIP: 0010:debug_print_object+0x6e/0x90
[   48.123137] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
[   48.123142] RSP: 0018:ffffc90000dabae0 EFLAGS: 00010282
[   48.123150] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
[   48.123154] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
[   48.123159] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
[   48.123163] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
[   48.123167] R13: ffff88810a07d308 R14: ffff888109990800 R15: ffff88810997b800
[   48.123171] FS:  00007ffff624b9c0(0000) GS:ffff888276e00000(0000) knlGS:0000000000000000
[   48.123176] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   48.123181] CR2: 00007ffff7f93bf0 CR3: 0000000108e56000 CR4: 0000000000350ef0
[   48.123185] Call Trace:
[   48.123190]  i915_sw_fence_reinit+0x15/0x40 [i915]
[   48.123341]  intel_context_init+0x16b/0x1d0 [i915]
[   48.123492]  intel_context_create+0x33/0x100 [i915]
[   48.123642]  default_engines+0x9d/0x120 [i915]
[   48.123806]  i915_gem_create_context+0x465/0x630 [i915]
[   48.125964]  ? trace_kmalloc+0x29/0xd0
[   48.125976]  ? kmem_cache_alloc_trace+0x121/0x620
[   48.125984]  i915_gem_context_open+0x145/0x1d0 [i915]
[   48.126172]  i915_gem_open+0x75/0xb0 [i915]
[   48.126364]  drm_file_alloc+0x1b1/0x280 [drm]
[   48.126427]  drm_open+0xde/0x250 [drm]
[   48.126482]  drm_stub_open+0xa8/0x130 [drm]
[   48.126538]  chrdev_open+0xbf/0x240
[   48.126547]  ? cdev_device_add+0x90/0x90
[   48.126553]  do_dentry_open+0x151/0x3a0
[   48.126560]  path_openat+0x76f/0xa10
[   48.126568]  do_filp_open+0xa9/0x150
[   48.126575]  ? preempt_count_sub+0x9b/0xd0
[   48.126584]  ? _raw_spin_unlock+0x29/0x40
[   48.126593]  do_sys_openat2+0x97/0x160
[   48.126600]  __x64_sys_openat+0x54/0x90
[   48.126607]  do_syscall_64+0x38/0x90
[   48.126614]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[   48.126622] RIP: 0033:0x7ffff7cdca5b
[   48.126630] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
[   48.126636] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
[   48.126645] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
[   48.126649] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
[   48.126654] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
[   48.126658] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
[   48.126663] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
[   48.126669] irq event stamp: 29565
[   48.126673] hardirqs last  enabled at (29571): [<ffffffff81126357>] __up_console_sem+0x67/0x70
[   48.126682] hardirqs last disabled at (29576): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
[   48.126689] softirqs last  enabled at (29394): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
[   48.126696] softirqs last disabled at (29371): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
[   48.126704] ---[ end trace 4978f2ce56481e4b ]---
[   48.126711] ------------[ cut here ]------------
[   48.126714] ODEBUG: activate destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
[   48.127053] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
[   48.127062] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
[   48.127216] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
[   48.127221] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
[   48.127226] RIP: 0010:debug_print_object+0x6e/0x90
[   48.127232] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
[   48.127238] RSP: 0018:ffffc90000daba88 EFLAGS: 00010282
[   48.127245] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
[   48.127250] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
[   48.127254] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
[   48.127259] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d468
[   48.127263] R13: ffffffffa0577480 R14: ffffffff835ce0b8 R15: ffff88810997b800
[   48.127268] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
[   48.127273] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   48.127277] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
[   48.127282] Call Trace:
[   48.127287]  debug_object_activate+0x174/0x200
[   48.127296]  i915_sw_fence_commit+0x15/0x20 [i915]
[   48.127461]  intel_context_init+0x173/0x1d0 [i915]
[   48.127627]  intel_context_create+0x33/0x100 [i915]
[   48.127792]  default_engines+0x9d/0x120 [i915]
[   48.127971]  i915_gem_create_context+0x465/0x630 [i915]
[   48.128195]  ? trace_kmalloc+0x29/0xd0
[   48.128203]  ? kmem_cache_alloc_trace+0x121/0x620
[   48.128211]  i915_gem_context_open+0x145/0x1d0 [i915]
[   48.128389]  i915_gem_open+0x75/0xb0 [i915]
[   48.128577]  drm_file_alloc+0x1b1/0x280 [drm]
[   48.128632]  drm_open+0xde/0x250 [drm]
[   48.128687]  drm_stub_open+0xa8/0x130 [drm]
[   48.128742]  chrdev_open+0xbf/0x240
[   48.128749]  ? cdev_device_add+0x90/0x90
[   48.128754]  do_dentry_open+0x151/0x3a0
[   48.128761]  path_openat+0x76f/0xa10
[   48.128768]  do_filp_open+0xa9/0x150
[   48.128775]  ? preempt_count_sub+0x9b/0xd0
[   48.128782]  ? _raw_spin_unlock+0x29/0x40
[   48.128789]  do_sys_openat2+0x97/0x160
[   48.128795]  __x64_sys_openat+0x54/0x90
[   48.128802]  do_syscall_64+0x38/0x90
[   48.128808]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[   48.128815] RIP: 0033:0x7ffff7cdca5b
[   48.128821] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
[   48.128826] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
[   48.128835] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
[   48.128839] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
[   48.128844] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
[   48.128848] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
[   48.128852] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
[   48.128859] irq event stamp: 30217
[   48.128862] hardirqs last  enabled at (30223): [<ffffffff81126357>] __up_console_sem+0x67/0x70
[   48.128869] hardirqs last disabled at (30228): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
[   48.128875] softirqs last  enabled at (30050): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
[   48.128881] softirqs last disabled at (30035): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
[   48.128888] ---[ end trace 4978f2ce56481e4c ]---
[   48.128895] ------------[ cut here ]------------
[   48.128899] ODEBUG: active_state destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
[   48.129179] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
[   48.129187] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
[   48.129328] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
[   48.129334] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
[   48.129338] RIP: 0010:debug_print_object+0x6e/0x90
[   48.129344] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
[   48.129350] RSP: 0018:ffffc90000dabaa8 EFLAGS: 00010286
[   48.129357] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
[   48.129362] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
[   48.129366] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
[   48.129371] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
[   48.129375] R13: ffff88810a07d308 R14: 0000000000000000 R15: ffff88810997b800
[   48.129379] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
[   48.129384] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   48.129389] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
[   48.129393] Call Trace:
[   48.129398]  __i915_sw_fence_complete+0x70/0x240 [i915]
[   48.129564]  ? preempt_count_sub+0x9b/0xd0
[   48.129572]  intel_context_init+0x173/0x1d0 [i915]
[   48.129738]  intel_context_create+0x33/0x100 [i915]
[   48.129902]  default_engines+0x9d/0x120 [i915]
[   48.130080]  i915_gem_create_context+0x465/0x630 [i915]
[   48.130258]  ? trace_kmalloc+0x29/0xd0
[   48.130264]  ? kmem_cache_alloc_trace+0x121/0x620
[   48.130271]  i915_gem_context_open+0x145/0x1d0 [i915]
[   48.130449]  i915_gem_open+0x75/0xb0 [i915]
[   48.130635]  drm_file_alloc+0x1b1/0x280 [drm]
[   48.130689]  drm_open+0xde/0x250 [drm]
[   48.130744]  drm_stub_open+0xa8/0x130 [drm]
[   48.130801]  chrdev_open+0xbf/0x240
[   48.130807]  ? cdev_device_add+0x90/0x90
[   48.130813]  do_dentry_open+0x151/0x3a0
[   48.130819]  path_openat+0x76f/0xa10
[   48.130826]  do_filp_open+0xa9/0x150
[   48.130833]  ? preempt_count_sub+0x9b/0xd0
[   48.130839]  ? _raw_spin_unlock+0x29/0x40
[   48.130847]  do_sys_openat2+0x97/0x160
[   48.130853]  __x64_sys_openat+0x54/0x90
[   48.130860]  do_syscall_64+0x38/0x90
[   48.130866]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[   48.130873] RIP: 0033:0x7ffff7cdca5b
[   48.130878] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
[   48.130883] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
[   48.130892] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
[   48.130896] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
[   48.130901] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
[   48.130905] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
[   48.130909] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
[   48.130916] irq event stamp: 30843
[   48.130919] hardirqs last  enabled at (30849): [<ffffffff81126357>] __up_console_sem+0x67/0x70
[   48.130926] hardirqs last disabled at (30854): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
[   48.130932] softirqs last  enabled at (30050): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
[   48.130938] softirqs last disabled at (30035): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
[   48.130944] ---[ end trace 4978f2ce56481e4d ]---
[   48.130950] ------------[ cut here ]------------
[   48.130954] ODEBUG: active_state destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
[   48.131232] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
[   48.131240] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
[   48.131381] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
[   48.131387] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
[   48.131391] RIP: 0010:debug_print_object+0x6e/0x90
[   48.131397] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
[   48.131402] RSP: 0018:ffffc90000dabaa8 EFLAGS: 00010286
[   48.131410] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
[   48.131414] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
[   48.131419] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
[   48.131423] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
[   48.131427] R13: ffff88810a07d308 R14: 0000000000000000 R15: ffff88810997b800
[   48.131432] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
[   48.131437] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   48.131441] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
[   48.131446] Call Trace:
[   48.131450]  __i915_sw_fence_complete+0x9c/0x240 [i915]
[   48.131614]  ? preempt_count_sub+0x9b/0xd0
[   48.131622]  intel_context_init+0x173/0x1d0 [i915]
[   48.131787]  intel_context_create+0x33/0x100 [i915]
[   48.131951]  default_engines+0x9d/0x120 [i915]
[   48.132129]  i915_gem_create_context+0x465/0x630 [i915]
[   48.132306]  ? trace_kmalloc+0x29/0xd0
[   48.132313]  ? kmem_cache_alloc_trace+0x121/0x620
[   48.132320]  i915_gem_context_open+0x145/0x1d0 [i915]
[   48.132498]  i915_gem_open+0x75/0xb0 [i915]
[   48.132685]  drm_file_alloc+0x1b1/0x280 [drm]
[   48.132739]  drm_open+0xde/0x250 [drm]
[   48.132793]  drm_stub_open+0xa8/0x130 [drm]
[   48.132849]  chrdev_open+0xbf/0x240
[   48.132855]  ? cdev_device_add+0x90/0x90
[   48.132861]  do_dentry_open+0x151/0x3a0
[   48.132867]  path_openat+0x76f/0xa10
[   48.132874]  do_filp_open+0xa9/0x150
[   48.132881]  ? preempt_count_sub+0x9b/0xd0
[   48.132887]  ? _raw_spin_unlock+0x29/0x40
[   48.132895]  do_sys_openat2+0x97/0x160
[   48.132901]  __x64_sys_openat+0x54/0x90
[   48.132907]  do_syscall_64+0x38/0x90
[   48.132914]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[   48.132921] RIP: 0033:0x7ffff7cdca5b
[   48.132926] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
[   48.132931] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
[   48.132939] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
[   48.132944] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
[   48.132948] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
[   48.132952] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
[   48.132956] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
[   48.132963] irq event stamp: 31465
[   48.132966] hardirqs last  enabled at (31471): [<ffffffff81126357>] __up_console_sem+0x67/0x70
[   48.132973] hardirqs last disabled at (31476): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
[   48.132979] softirqs last  enabled at (30050): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
[   48.132984] softirqs last disabled at (30035): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
[   48.132991] ---[ end trace 4978f2ce56481e4e ]---
[   48.132996] ------------[ cut here ]------------
[   48.133000] ODEBUG: deactivate destroyed (active state 0) object type: i915_sw_fence hint: sw_fence_dummy_notify+0x0/0x10 [i915]
[   48.133277] WARNING: CPU: 1 PID: 815 at lib/debugobjects.c:505 debug_print_object+0x6e/0x90
[   48.133284] Modules linked in: i915 i2c_algo_bit ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_gtt agpgart fuse nls_iso8859_1 nls_cp437 vfat fat intel_rapl_msr wmi_bmof intel_rapl_common x86_pkg_temp_thermal r8169 realtek mdio_devres coretemp libphy efi_pstore evdev sdhci_pci cqhci sdhci mei_me mmc_core i2c_i801 intel_pmc_core mei led_class wmi i2c_smbus sch_fq_codel drm ip_tables x_tables ipv6 autofs4
[   48.133425] CPU: 1 PID: 815 Comm: kms_async_flips Tainted: G        W         5.15.0-rc2-hsw+ #131
[   48.133430] Hardware name: Intel Corporation NUC7CJYH/NUC7JYB, BIOS JYGLKCPX.86A.0027.2018.0125.1347 01/25/2018
[   48.133434] RIP: 0010:debug_print_object+0x6e/0x90
[   48.133440] Code: 07 08 02 83 c0 01 8b 4b 14 4c 8b 45 00 48 c7 c7 a0 19 0a 82 89 05 66 07 08 02 8b 43 10 48 8b 14 c5 c0 0d e4 81 e8 d7 2e 3c 00 <0f> 0b 83 05 c5 c0 0c 01 01 48 83 c4 08 5b 5d c3 83 05 b7 c0 0c 01
[   48.133445] RSP: 0018:ffffc90000dabaa8 EFLAGS: 00010286
[   48.133453] RAX: 0000000000000000 RBX: ffff88810004f848 RCX: 0000000000000000
[   48.133458] RDX: 0000000080000001 RSI: ffffffff8112673f RDI: ffffffff8112673f
[   48.133462] RBP: ffffffffa0577480 R08: ffff88827fbfcfe8 R09: 000000000009fffb
[   48.133468] R10: 00000000fffe0000 R11: 3fffffffffffffff R12: ffff88810a04d100
[   48.133472] R13: ffff88810a07d308 R14: 0000000000000000 R15: ffff88810997b800
[   48.133476] FS:  00007ffff624b9c0(0000) GS:ffff888276e80000(0000) knlGS:0000000000000000
[   48.133481] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   48.133486] CR2: 000055555556f5e8 CR3: 0000000108e56000 CR4: 0000000000350ee0
[   48.133490] Call Trace:
[   48.133495]  __i915_sw_fence_complete+0xab/0x240 [i915]
[   48.133658]  ? preempt_count_sub+0x9b/0xd0
[   48.133666]  intel_context_init+0x173/0x1d0 [i915]
[   48.133830]  intel_context_create+0x33/0x100 [i915]
[   48.142705]  default_engines+0x9d/0x120 [i915]
[   48.142861]  i915_gem_create_context+0x465/0x630 [i915]
[   48.142996]  ? trace_kmalloc+0x29/0xd0
[   48.143003]  ? kmem_cache_alloc_trace+0x121/0x620
[   48.143009]  i915_gem_context_open+0x145/0x1d0 [i915]
[   48.143141]  i915_gem_open+0x75/0xb0 [i915]
[   48.143438]  drm_file_alloc+0x1b1/0x280 [drm]
[   48.143516]  drm_open+0xde/0x250 [drm]
[   48.143557]  drm_stub_open+0xa8/0x130 [drm]
[   48.143598]  chrdev_open+0xbf/0x240
[   48.143604]  ? cdev_device_add+0x90/0x90
[   48.143608]  do_dentry_open+0x151/0x3a0
[   48.143614]  path_openat+0x76f/0xa10
[   48.143619]  do_filp_open+0xa9/0x150
[   48.143625]  ? preempt_count_sub+0x9b/0xd0
[   48.143631]  ? _raw_spin_unlock+0x29/0x40
[   48.143638]  do_sys_openat2+0x97/0x160
[   48.143644]  __x64_sys_openat+0x54/0x90
[   48.143648]  do_syscall_64+0x38/0x90
[   48.143654]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[   48.143660] RIP: 0033:0x7ffff7cdca5b
[   48.143664] Code: 25 00 00 41 00 3d 00 00 41 00 74 4b 64 8b 04 25 18 00 00 00 85 c0 75 67 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 91 00 00 00 48 8b 4c 24 28 64 48 33 0c 25
[   48.143668] RSP: 002b:00007fffffffda20 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
[   48.143675] RAX: ffffffffffffffda RBX: 00007fffffffdb60 RCX: 00007ffff7cdca5b
[   48.143679] RDX: 0000000000000002 RSI: 00007fffffffdb60 RDI: 00000000ffffff9c
[   48.143682] RBP: 00007fffffffdb60 R08: 0000000000000001 R09: 000000000000000e
[   48.143685] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002
[   48.143688] R13: 00007ffff7f9406a R14: 0000000000000000 R15: 00000000fffffffb
[   48.143693] irq event stamp: 32275
[   48.143696] hardirqs last  enabled at (32281): [<ffffffff81126357>] __up_console_sem+0x67/0x70
[   48.143701] hardirqs last disabled at (32286): [<ffffffff8112633c>] __up_console_sem+0x4c/0x70
[   48.143706] softirqs last  enabled at (32138): [<ffffffff81c0032c>] __do_softirq+0x32c/0x499
[   48.143710] softirqs last disabled at (32125): [<ffffffff810ba2ed>] irq_exit_rcu+0xdd/0x130
[   48.143716] ---[ end trace 4978f2ce56481e4f ]---

-- 
Ville Syrjälä
Intel

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

* [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-22  1:50 Matthew Brost
  2021-09-24 12:16 ` Ville Syrjälä
  0 siblings, 1 reply; 14+ messages in thread
From: Matthew Brost @ 2021-09-22  1:50 UTC (permalink / raw)
  To: intel-gfx, dri-devel

From: Hugh Dickins <hughd@google.com>

5.15-rc1 crashes with blank screen when booting up on two ThinkPads
using i915.  Bisections converge convincingly, but arrive at different
and surprising "culprits", none of them the actual culprit.

netconsole (with init_netconsole() hacked to call i915_init() when
logging has started, instead of by module_init()) tells the story:

kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
function needs to be 4-byte aligned.

v2:
 (Jani Nikula)
  - Change BUG_ON to WARN_ON
v3:
 (Jani / Tvrtko)
  - Short circuit __i915_sw_fence_init on WARN_ON
v4:
 (Lucas)
  - Break WARN_ON changes out in a different patch

Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_context.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
index ff637147b1a9..e7f78bc7ebfc 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.c
+++ b/drivers/gpu/drm/i915/gt/intel_context.c
@@ -362,8 +362,8 @@ static int __intel_context_active(struct i915_active *active)
 	return 0;
 }
 
-static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
-				 enum i915_sw_fence_notify state)
+static int __i915_sw_fence_call
+sw_fence_dummy_notify(struct i915_sw_fence *sf, enum i915_sw_fence_notify state)
 {
 	return NOTIFY_DONE;
 }
-- 
2.32.0


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

* [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-21 17:43 Matthew Brost
  0 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2021-09-21 17:43 UTC (permalink / raw)
  To: intel-gfx, dri-devel

From: Hugh Dickins <hughd@google.com>

5.15-rc1 crashes with blank screen when booting up on two ThinkPads
using i915.  Bisections converge convincingly, but arrive at different
and surprising "culprits", none of them the actual culprit.

netconsole (with init_netconsole() hacked to call i915_init() when
logging has started, instead of by module_init()) tells the story:

kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
function needs to be 4-byte aligned.

v2:
 (Jani Nikula)
  - Change BUG_ON to WARN_ON
v3:
 (Jani / Tvrtko)
  - Short circuit __i915_sw_fence_init on WARN_ON

Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_context.c |  4 ++--
 drivers/gpu/drm/i915/i915_sw_fence.c    | 17 ++++++++++-------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
index ff637147b1a9..e7f78bc7ebfc 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.c
+++ b/drivers/gpu/drm/i915/gt/intel_context.c
@@ -362,8 +362,8 @@ static int __intel_context_active(struct i915_active *active)
 	return 0;
 }
 
-static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
-				 enum i915_sw_fence_notify state)
+static int __i915_sw_fence_call
+sw_fence_dummy_notify(struct i915_sw_fence *sf, enum i915_sw_fence_notify state)
 {
 	return NOTIFY_DONE;
 }
diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
index c589a681da77..08cea73264e7 100644
--- a/drivers/gpu/drm/i915/i915_sw_fence.c
+++ b/drivers/gpu/drm/i915/i915_sw_fence.c
@@ -13,9 +13,9 @@
 #include "i915_selftest.h"
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
-#define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
+#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
 #else
-#define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
+#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
 #endif
 
 static DEFINE_SPINLOCK(i915_sw_fence_lock);
@@ -129,7 +129,10 @@ static int __i915_sw_fence_notify(struct i915_sw_fence *fence,
 	i915_sw_fence_notify_t fn;
 
 	fn = (i915_sw_fence_notify_t)(fence->flags & I915_SW_FENCE_MASK);
-	return fn(fence, state);
+	if (likely(fn))
+		return fn(fence, state);
+	else
+		return 0;
 }
 
 #ifdef CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS
@@ -242,9 +245,9 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
 			  const char *name,
 			  struct lock_class_key *key)
 {
-	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
-
 	__init_waitqueue_head(&fence->wait, name, key);
+	if (WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK))
+		return;
 	fence->flags = (unsigned long)fn;
 
 	i915_sw_fence_reinit(fence);
@@ -257,8 +260,8 @@ void i915_sw_fence_reinit(struct i915_sw_fence *fence)
 	atomic_set(&fence->pending, 1);
 	fence->error = 0;
 
-	I915_SW_FENCE_BUG_ON(!fence->flags);
-	I915_SW_FENCE_BUG_ON(!list_empty(&fence->wait.head));
+	I915_SW_FENCE_WARN_ON(!fence->flags);
+	I915_SW_FENCE_WARN_ON(!list_empty(&fence->wait.head));
 }
 
 void i915_sw_fence_commit(struct i915_sw_fence *fence)
-- 
2.32.0


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

* [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-17 23:38 Matthew Brost
  0 siblings, 0 replies; 14+ messages in thread
From: Matthew Brost @ 2021-09-17 23:38 UTC (permalink / raw)
  To: intel-gfx, dri-devel

From: Hugh Dickins <hughd@google.com>

5.15-rc1 crashes with blank screen when booting up on two ThinkPads
using i915.  Bisections converge convincingly, but arrive at different
and surprising "culprits", none of them the actual culprit.

netconsole (with init_netconsole() hacked to call i915_init() when
logging has started, instead of by module_init()) tells the story:

kernel BUG at drivers/gpu/drm/i915/i915_sw_fence.c:245!
with RSI: ffffffff814d408b pointing to sw_fence_dummy_notify().
I've been building with CONFIG_CC_OPTIMIZE_FOR_SIZE=y, and that
function needs to be 4-byte aligned.

v2:
 (Jani Nikula)
  - Change BUG_ON to WARN_ON

Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation")
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_context.c | 1 +
 drivers/gpu/drm/i915/i915_sw_fence.c    | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_context.c b/drivers/gpu/drm/i915/gt/intel_context.c
index ff637147b1a9..f02c2202da9d 100644
--- a/drivers/gpu/drm/i915/gt/intel_context.c
+++ b/drivers/gpu/drm/i915/gt/intel_context.c
@@ -362,6 +362,7 @@ static int __intel_context_active(struct i915_active *active)
 	return 0;
 }
 
+__aligned(4)	/* Respect the I915_SW_FENCE_MASK */
 static int sw_fence_dummy_notify(struct i915_sw_fence *sf,
 				 enum i915_sw_fence_notify state)
 {
diff --git a/drivers/gpu/drm/i915/i915_sw_fence.c b/drivers/gpu/drm/i915/i915_sw_fence.c
index c589a681da77..1217b124c1d0 100644
--- a/drivers/gpu/drm/i915/i915_sw_fence.c
+++ b/drivers/gpu/drm/i915/i915_sw_fence.c
@@ -14,8 +14,10 @@
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
 #define I915_SW_FENCE_BUG_ON(expr) BUG_ON(expr)
+#define I915_SW_FENCE_WARN_ON(expr) WARN_ON(expr)
 #else
 #define I915_SW_FENCE_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
+#define I915_SW_FENCE_WARN_ON(expr) BUILD_BUG_ON_INVALID(expr)
 #endif
 
 static DEFINE_SPINLOCK(i915_sw_fence_lock);
@@ -242,7 +244,7 @@ void __i915_sw_fence_init(struct i915_sw_fence *fence,
 			  const char *name,
 			  struct lock_class_key *key)
 {
-	BUG_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
+	I915_SW_FENCE_WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK);
 
 	__init_waitqueue_head(&fence->wait, name, key);
 	fence->flags = (unsigned long)fn;
-- 
2.32.0


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

end of thread, other threads:[~2021-10-04  7:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-17 23:38 [PATCH] drm/i915: fix blank screen booting crashes Matthew Brost
2021-09-17 23:38 ` [Intel-gfx] " Matthew Brost
2021-09-18  1:01 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: fix blank screen booting crashes (rev2) Patchwork
2021-09-18  2:36 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-09-20  7:28 ` [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes Tvrtko Ursulin
2021-09-20  7:38   ` Jani Nikula
2021-09-20  7:42     ` Tvrtko Ursulin
2021-09-20 20:29       ` Matthew Brost
2021-09-20 20:25   ` Matthew Brost
  -- strict thread matches above, loose matches on Subject: below --
2021-09-22  1:50 Matthew Brost
2021-09-24 12:16 ` Ville Syrjälä
2021-10-04  7:36   ` Jani Nikula
2021-09-21 17:43 Matthew Brost
2021-09-17 23:38 Matthew Brost

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.