All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-21 17:43 ` Matthew Brost
  0 siblings, 0 replies; 22+ 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] 22+ messages in thread

* [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-21 17:43 ` Matthew Brost
  0 siblings, 0 replies; 22+ 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] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-21 17:43 ` [Intel-gfx] " Matthew Brost
  (?)
@ 2021-09-21 18:46 ` Lucas De Marchi
  2021-09-21 22:55   ` Matthew Brost
  -1 siblings, 1 reply; 22+ messages in thread
From: Lucas De Marchi @ 2021-09-21 18:46 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-gfx, dri-devel

On Tue, Sep 21, 2021 at 10:43:32AM -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
>
>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;

since the knowledge for these being NULL (or with the wrong alignment)
are in the init/reinit functions,  wouldn't it be better to just add a
fence_nop() and assign it there instead this likely() here?

> }
>
> #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;

like:
	if (WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK))
		fence->flags = (unsigned long)sw_fence_dummy_notify;
	else
		fence->flags = (unsigned long)fn;


f you return here instead of calling i915_sw_fence_reinit(), aren't you
just going to use uninitialized memory later? At least in the selftests,
which allocate it with kmalloc()... I didn't check others.


For the bug fix we could just add the __aligned(4) and leave the rest to a
separate patch.


Lucas De Marchi

> 	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	[flat|nested] 22+ messages in thread

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

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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_10621 -> Patchwork_21117
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### 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][1] ([i915#4136]) -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-ehl-2/igt@i915_module_load@reload.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-ehl-2/igt@i915_module_load@reload.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@query-info:
    - fi-glk-dsi:         NOTRUN -> [SKIP][3] ([fdo#109271]) +17 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-glk-dsi/igt@amdgpu/amd_basic@query-info.html

  * igt@amdgpu/amd_basic@semaphore:
    - fi-icl-y:           NOTRUN -> [SKIP][4] ([fdo#109315]) +17 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-icl-y/igt@amdgpu/amd_basic@semaphore.html
    - fi-bdw-5557u:       NOTRUN -> [SKIP][5] ([fdo#109271]) +23 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-bdw-5557u/igt@amdgpu/amd_basic@semaphore.html

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
    - fi-snb-2600:        NOTRUN -> [SKIP][6] ([fdo#109271]) +18 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-snb-2600/igt@amdgpu/amd_cs_nop@sync-fork-compute0.html

  * igt@amdgpu/amd_cs_nop@sync-fork-gfx0:
    - fi-skl-6600u:       NOTRUN -> [SKIP][7] ([fdo#109271]) +17 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-skl-6600u/igt@amdgpu/amd_cs_nop@sync-fork-gfx0.html

  * igt@core_hotunplug@unbind-rebind:
    - fi-tgl-1115g4:      NOTRUN -> [INCOMPLETE][8] ([i915#4130])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
    - fi-bxt-dsi:         [PASS][9] -> [INCOMPLETE][10] ([i915#4130] / [i915#4136])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-bxt-dsi/igt@core_hotunplug@unbind-rebind.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-bxt-dsi/igt@core_hotunplug@unbind-rebind.html
    - fi-icl-u2:          [PASS][11] -> [INCOMPLETE][12] ([i915#4130] / [i915#4136])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
    - fi-bdw-5557u:       NOTRUN -> [WARN][13] ([i915#3718])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-bdw-5557u/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_exec_suspend@basic-s0:
    - fi-kbl-soraka:      [PASS][14] -> [INCOMPLETE][15] ([i915#155])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html

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

  * igt@i915_module_load@reload:
    - fi-snb-2520m:       [PASS][17] -> [INCOMPLETE][18] ([i915#4179])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-snb-2520m/igt@i915_module_load@reload.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-snb-2520m/igt@i915_module_load@reload.html
    - fi-bsw-kefka:       [PASS][19] -> [INCOMPLETE][20] ([i915#4136] / [i915#4179])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-bsw-kefka/igt@i915_module_load@reload.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-bsw-kefka/igt@i915_module_load@reload.html
    - fi-kbl-7567u:       NOTRUN -> [INCOMPLETE][21] ([i915#4130] / [i915#4136] / [i915#4179])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-kbl-7567u/igt@i915_module_load@reload.html

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

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][23] ([fdo#111827]) +8 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/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][24] ([i915#4103]) +1 similar issue
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/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][25] ([fdo#109285])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html

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

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

  * igt@runner@aborted:
    - fi-bsw-kefka:       NOTRUN -> [FAIL][28] ([i915#3690])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-bsw-kefka/igt@runner@aborted.html
    - fi-snb-2520m:       NOTRUN -> [FAIL][29] ([i915#2426])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-snb-2520m/igt@runner@aborted.html
    - fi-cml-u2:          NOTRUN -> [FAIL][30] ([i915#2082] / [i915#2426] / [i915#3363])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-cml-u2/igt@runner@aborted.html
    - fi-tgl-1115g4:      NOTRUN -> [FAIL][31] ([i915#1602] / [i915#2722])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-tgl-1115g4/igt@runner@aborted.html
    - fi-kbl-7567u:       NOTRUN -> [FAIL][32] ([i915#2426] / [i915#3363])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-kbl-7567u/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-kbl-7567u:       [INCOMPLETE][33] ([i915#4130]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_module_load@reload:
    - fi-glk-dsi:         [INCOMPLETE][35] ([i915#4130] / [i915#4136]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-glk-dsi/igt@i915_module_load@reload.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-glk-dsi/igt@i915_module_load@reload.html
    - fi-snb-2600:        [INCOMPLETE][37] ([i915#4179]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-snb-2600/igt@i915_module_load@reload.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-snb-2600/igt@i915_module_load@reload.html
    - fi-icl-y:           [INCOMPLETE][39] ([i915#4130] / [i915#4136]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-icl-y/igt@i915_module_load@reload.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-icl-y/igt@i915_module_load@reload.html

  * igt@i915_pm_rpm@module-reload:
    - fi-skl-6600u:       [INCOMPLETE][41] ([i915#151]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-skl-6600u/igt@i915_pm_rpm@module-reload.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-kbl-8809g:       [INCOMPLETE][43] ([i915#4136]) -> [INCOMPLETE][44] ([i915#4130] / [i915#4136])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-kbl-8809g/igt@i915_module_load@reload.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/fi-kbl-8809g/igt@i915_module_load@reload.html
    - fi-cml-u2:          [INCOMPLETE][45] ([i915#4136]) -> [INCOMPLETE][46] ([i915#4130] / [i915#4136])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/fi-cml-u2/igt@i915_module_load@reload.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/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
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151
  [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#2082]: https://gitlab.freedesktop.org/drm/intel/issues/2082
  [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#3718]: https://gitlab.freedesktop.org/drm/intel/issues/3718
  [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#4179]: https://gitlab.freedesktop.org/drm/intel/issues/4179


Participating hosts (34 -> 31)
------------------------------

  Additional (1): fi-tgl-1115g4 
  Missing    (4): fi-bdw-samus fi-bsw-cyan bat-jsl-1 bat-dg1-6 


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

  * Linux: CI_DRM_10621 -> Patchwork_21117

  CI-20190529: 20190529
  CI_DRM_10621: a24155d542614740119089c115fc777a0fa27587 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6214: 13550e92c6c7bd825abb6c9b087d12a524b4674c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21117: d50a5546f0cc4cce24fac87bc1c9dde429c33d3f @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

d50a5546f0cc drm/i915: fix blank screen booting crashes

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-21 18:46 ` Lucas De Marchi
@ 2021-09-21 22:55   ` Matthew Brost
  2021-09-21 23:29     ` Lucas De Marchi
  0 siblings, 1 reply; 22+ messages in thread
From: Matthew Brost @ 2021-09-21 22:55 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-gfx, dri-devel

On Tue, Sep 21, 2021 at 11:46:37AM -0700, Lucas De Marchi wrote:
> On Tue, Sep 21, 2021 at 10:43:32AM -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
> > 
> > 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;
> 
> since the knowledge for these being NULL (or with the wrong alignment)
> are in the init/reinit functions,  wouldn't it be better to just add a
> fence_nop() and assign it there instead this likely() here?
> 

Maybe? I prefer the way it is.

> > }
> > 
> > #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;
> 
> like:
> 	if (WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK))
> 		fence->flags = (unsigned long)sw_fence_dummy_notify;
> 	else
> 		fence->flags = (unsigned long)fn;
> 
> 
> f you return here instead of calling i915_sw_fence_reinit(), aren't you
> just going to use uninitialized memory later? At least in the selftests,
> which allocate it with kmalloc()... I didn't check others.
> 

I don't think so, maybe the fence won't work but it won't blow up
either.

> 
> For the bug fix we could just add the __aligned(4) and leave the rest to a
> separate patch.
> 

The bug was sw_fence_dummy_notify in gt/intel_context.c was not 4 byte
align which triggered a BUG_ON during boot which blank screened a
laptop. Jani / Tvrtko suggested that we make the BUG_ON to WARN_ONs so
if someone makes this mistake in the future kernel should boot albiet
with a WARNING.

The long term fix is just pull out the I915_SW_FENCE_MASK (stealing bits
from a poitner) and we don't have to worry any of this.

Matt

> 
> Lucas De Marchi
> 
> > 	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	[flat|nested] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-21 22:55   ` Matthew Brost
@ 2021-09-21 23:29     ` Lucas De Marchi
  2021-09-22  1:40       ` Matthew Brost
  0 siblings, 1 reply; 22+ messages in thread
From: Lucas De Marchi @ 2021-09-21 23:29 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-gfx, dri-devel

On Tue, Sep 21, 2021 at 03:55:15PM -0700, Matthew Brost wrote:
>On Tue, Sep 21, 2021 at 11:46:37AM -0700, Lucas De Marchi wrote:
>> On Tue, Sep 21, 2021 at 10:43:32AM -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
>> >
>> > 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;
>>
>> since the knowledge for these being NULL (or with the wrong alignment)
>> are in the init/reinit functions,  wouldn't it be better to just add a
>> fence_nop() and assign it there instead this likely() here?
>>
>
>Maybe? I prefer the way it is.
>
>> > }
>> >
>> > #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;
>>
>> like:
>> 	if (WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK))
>> 		fence->flags = (unsigned long)sw_fence_dummy_notify;
>> 	else
>> 		fence->flags = (unsigned long)fn;
>>
>>
>> f you return here instead of calling i915_sw_fence_reinit(), aren't you
>> just going to use uninitialized memory later? At least in the selftests,
>> which allocate it with kmalloc()... I didn't check others.
>>
>
>I don't think so, maybe the fence won't work but it won't blow up
>either.
>
>>
>> For the bug fix we could just add the __aligned(4) and leave the rest to a
>> separate patch.
>>
>
>The bug was sw_fence_dummy_notify in gt/intel_context.c was not 4 byte
>align which triggered a BUG_ON during boot which blank screened a
>laptop. Jani / Tvrtko suggested that we make the BUG_ON to WARN_ONs so
>if someone makes this mistake in the future kernel should boot albiet
>with a WARNING.

yes, I understood. But afaics with WARN_ON you are allowing it to
continue and may be using uninitialized memory later, just causing other
problems down the line, which may be equally difficult to debug.

what I suggested is that there is the easy fix to apply to the current
rcX kernel, adding __aligned(4) to sw_fence_dummy_notify() (patch 1).
And there is the additional protection being added here (patch 2) which
is subject to the debate.

>
>The long term fix is just pull out the I915_SW_FENCE_MASK (stealing bits
>from a poitner) and we don't have to worry any of this.

Patch 2 may not even be needed if you're going that route. But we are
not only protecting against unaligned, but also from code calling
i915_sw_fence_init() with a NULL fn. 

Lucas De Marchi

>
>Matt
>
>>
>> Lucas De Marchi
>>
>> > 	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	[flat|nested] 22+ messages in thread

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

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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_10621_full -> Patchwork_21117_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21117_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21117_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_21117_full:

### IGT changes ###

#### Possible regressions ####

  * igt@perf_pmu@rc6-suspend:
    - shard-snb:          NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-snb6/igt@perf_pmu@rc6-suspend.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@unbind-rebind:
    - shard-glk:          [PASS][2] -> [INCOMPLETE][3] ([i915#4130] / [i915#4136])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-glk8/igt@core_hotunplug@unbind-rebind.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-glk1/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_create@create-massive:
    - shard-tglb:         NOTRUN -> [DMESG-WARN][4] ([i915#3002])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb5/igt@gem_create@create-massive.html

  * igt@gem_ctx_persistence@engines-persistence:
    - shard-snb:          NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-snb5/igt@gem_ctx_persistence@engines-persistence.html

  * igt@gem_eio@kms:
    - shard-glk:          [PASS][6] -> [INCOMPLETE][7] ([i915#3726])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-glk6/igt@gem_eio@kms.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-glk6/igt@gem_eio@kms.html

  * igt@gem_eio@unwedge-stress:
    - shard-iclb:         [PASS][8] -> [TIMEOUT][9] ([i915#2369] / [i915#2481] / [i915#3070])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb4/igt@gem_eio@unwedge-stress.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb4/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          NOTRUN -> [FAIL][10] ([i915#2846])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-glk:          [PASS][11] -> [FAIL][12] ([i915#2842])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-glk5/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-glk5/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace@bcs0:
    - shard-iclb:         [PASS][13] -> [FAIL][14] ([i915#2842])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb4/igt@gem_exec_fair@basic-pace@bcs0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb4/igt@gem_exec_fair@basic-pace@bcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-tglb:         [PASS][15] -> [FAIL][16] ([i915#2842]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb8/igt@gem_exec_fair@basic-pace@vecs0.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb2/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_suspend@basic-s3:
    - shard-iclb:         NOTRUN -> [INCOMPLETE][17] ([i915#4173])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [PASS][18] -> [SKIP][19] ([i915#2190])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb1/igt@gem_huc_copy@huc-copy.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb6/igt@gem_huc_copy@huc-copy.html

  * igt@gem_softpin@allocator-evict-all-engines:
    - shard-glk:          [PASS][20] -> [FAIL][21] ([i915#4171])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-glk3/igt@gem_softpin@allocator-evict-all-engines.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-glk8/igt@gem_softpin@allocator-evict-all-engines.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-kbl:          NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#3323])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl2/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@input-checking:
    - shard-apl:          NOTRUN -> [DMESG-WARN][23] ([i915#3002])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@gem_userptr_blits@input-checking.html

  * igt@gen9_exec_parse@bb-start-out:
    - shard-tglb:         NOTRUN -> [SKIP][24] ([i915#2856])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@gen9_exec_parse@bb-start-out.html

  * igt@i915_pm_dc@dc5-dpms:
    - shard-skl:          [PASS][25] -> [INCOMPLETE][26] ([i915#198])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl10/igt@i915_pm_dc@dc5-dpms.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl7/igt@i915_pm_dc@dc5-dpms.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-skl:          NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#3777])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-kbl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#3777])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-apl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#3777])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#111615])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#3886]) +5 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-skl:          NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#3886]) +2 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl4/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-kbl:          NOTRUN -> [SKIP][33] ([fdo#109271] / [i915#3886]) +4 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl3/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_chamelium@hdmi-edid-change-during-suspend:
    - shard-apl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [fdo#111827]) +12 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl7/igt@kms_chamelium@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium@hdmi-hpd-storm-disable:
    - shard-kbl:          NOTRUN -> [SKIP][35] ([fdo#109271] / [fdo#111827]) +9 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl3/igt@kms_chamelium@hdmi-hpd-storm-disable.html

  * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
    - shard-skl:          NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl4/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html

  * igt@kms_color_chamelium@pipe-b-ctm-negative:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#109284] / [fdo#111827]) +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@kms_color_chamelium@pipe-b-ctm-negative.html

  * igt@kms_color_chamelium@pipe-c-ctm-red-to-blue:
    - shard-snb:          NOTRUN -> [SKIP][38] ([fdo#109271] / [fdo#111827]) +14 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-snb7/igt@kms_color_chamelium@pipe-c-ctm-red-to-blue.html

  * igt@kms_content_protection@atomic:
    - shard-apl:          NOTRUN -> [TIMEOUT][39] ([i915#1319])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@kms_content_protection@atomic.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][40] ([i915#3319])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen.html

  * igt@kms_cursor_crc@pipe-b-cursor-max-size-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][41] ([i915#3359]) +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@kms_cursor_crc@pipe-b-cursor-max-size-onscreen.html

  * igt@kms_cursor_crc@pipe-b-cursor-suspend:
    - shard-apl:          NOTRUN -> [DMESG-WARN][42] ([i915#180])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@kms_cursor_crc@pipe-b-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x170-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][43] ([fdo#109279] / [i915#3359]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@kms_cursor_crc@pipe-d-cursor-512x170-onscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-tglb:         [PASS][44] -> [INCOMPLETE][45] ([i915#2411])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb3/igt@kms_cursor_crc@pipe-d-cursor-suspend.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb7/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge:
    - shard-snb:          NOTRUN -> [SKIP][46] ([fdo#109271]) +242 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-snb2/igt@kms_cursor_edge_walk@pipe-d-128x128-right-edge.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
    - shard-iclb:         NOTRUN -> [SKIP][47] ([fdo#109274] / [fdo#109278])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-skl:          [PASS][48] -> [FAIL][49] ([i915#2346] / [i915#533])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-skl:          [PASS][50] -> [FAIL][51] ([i915#79]) +2 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl9/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
    - shard-apl:          [PASS][52] -> [DMESG-WARN][53] ([i915#180]) +3 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][54] ([i915#180]) +3 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl3/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt:
    - shard-skl:          NOTRUN -> [SKIP][55] ([fdo#109271]) +50 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-iclb:         NOTRUN -> [SKIP][56] ([fdo#109280])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-tglb:         NOTRUN -> [SKIP][57] ([fdo#111825]) +4 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc:
    - shard-kbl:          NOTRUN -> [SKIP][58] ([fdo#109271]) +114 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl3/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc.html

  * igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c:
    - shard-apl:          NOTRUN -> [SKIP][59] ([fdo#109271]) +160 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence:
    - shard-apl:          NOTRUN -> [SKIP][60] ([fdo#109271] / [i915#533])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl7/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-kbl:          [PASS][61] -> [DMESG-WARN][62] ([i915#180]) +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-kbl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-tglb:         [PASS][63] -> [INCOMPLETE][64] ([i915#2828] / [i915#456])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
    - shard-skl:          NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#533])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes:
    - shard-tglb:         [PASS][66] -> [INCOMPLETE][67] ([i915#4182])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb7/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
    - shard-apl:          NOTRUN -> [FAIL][68] ([fdo#108145] / [i915#265]) +1 similar issue
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@kms_plane_alpha_blend@pipe-b-alpha-7efc.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][69] -> [FAIL][70] ([fdo#108145] / [i915#265])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl1/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl1/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

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

  * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
    - shard-apl:          NOTRUN -> [FAIL][72] ([i915#265])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl7/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@pipe-d-coverage-vs-premult-vs-constant:
    - shard-iclb:         NOTRUN -> [SKIP][73] ([fdo#109278])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@kms_plane_alpha_blend@pipe-d-coverage-vs-premult-vs-constant.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3:
    - shard-iclb:         NOTRUN -> [SKIP][74] ([i915#658])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4:
    - shard-kbl:          NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#658]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl6/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-5:
    - shard-tglb:         NOTRUN -> [SKIP][76] ([i915#2920])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-5.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-2:
    - shard-apl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#658]) +2 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [PASS][78] -> [SKIP][79] ([fdo#109642] / [fdo#111068] / [i915#658])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb8/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [PASS][80] -> [SKIP][81] ([fdo#109441]) +3 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb5/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_sysfs_edid_timing:
    - shard-apl:          NOTRUN -> [FAIL][82] ([IGT#2])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl6/igt@kms_sysfs_edid_timing.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-kbl:          NOTRUN -> [SKIP][83] ([fdo#109271] / [i915#2437])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl3/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@nouveau_crc@pipe-a-ctx-flip-skip-current-frame:
    - shard-iclb:         NOTRUN -> [SKIP][84] ([i915#2530])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@nouveau_crc@pipe-a-ctx-flip-skip-current-frame.html

  * igt@nouveau_crc@pipe-a-source-outp-complete:
    - shard-tglb:         NOTRUN -> [SKIP][85] ([i915#2530]) +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@nouveau_crc@pipe-a-source-outp-complete.html

  * igt@perf@polling-parameterized:
    - shard-iclb:         [PASS][86] -> [FAIL][87] ([i915#1542])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb3/igt@perf@polling-parameterized.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb7/igt@perf@polling-parameterized.html

  * igt@perf_pmu@module-unload:
    - shard-skl:          NOTRUN -> [DMESG-WARN][88] ([i915#1982] / [i915#262])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl4/igt@perf_pmu@module-unload.html

  * igt@perf_pmu@rc6-suspend:
    - shard-tglb:         [PASS][89] -> [INCOMPLETE][90] ([i915#456])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb3/igt@perf_pmu@rc6-suspend.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@perf_pmu@rc6-suspend.html

  * igt@prime_nv_api@i915_nv_import_twice_check_flink_name:
    - shard-tglb:         NOTRUN -> [SKIP][91] ([fdo#109291]) +1 similar issue
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb5/igt@prime_nv_api@i915_nv_import_twice_check_flink_name.html

  * igt@prime_nv_api@nv_self_import:
    - shard-iclb:         NOTRUN -> [SKIP][92] ([fdo#109291])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@prime_nv_api@nv_self_import.html

  * igt@sysfs_clients@fair-0:
    - shard-skl:          NOTRUN -> [SKIP][93] ([fdo#109271] / [i915#2994])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl4/igt@sysfs_clients@fair-0.html

  * igt@sysfs_clients@recycle-many:
    - shard-apl:          NOTRUN -> [SKIP][94] ([fdo#109271] / [i915#2994])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl7/igt@sysfs_clients@recycle-many.html

  * igt@sysfs_clients@split-50:
    - shard-tglb:         NOTRUN -> [SKIP][95] ([i915#2994])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@sysfs_clients@split-50.html

  * igt@sysfs_heartbeat_interval@mixed@rcs0:
    - shard-skl:          [PASS][96] -> [FAIL][97] ([i915#1731]) +1 similar issue
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl3/igt@sysfs_heartbeat_interval@mixed@rcs0.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl6/igt@sysfs_heartbeat_interval@mixed@rcs0.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - shard-iclb:         [INCOMPLETE][98] ([i915#4130] / [i915#4136]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb5/igt@core_hotunplug@unbind-rebind.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_ctx_isolation@preservation-s3@bcs0:
    - shard-kbl:          [DMESG-WARN][100] ([i915#180]) -> [PASS][101] +3 similar issues
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-kbl4/igt@gem_ctx_isolation@preservation-s3@bcs0.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl2/igt@gem_ctx_isolation@preservation-s3@bcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-kbl:          [FAIL][102] ([i915#2842]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-kbl4/igt@gem_exec_fair@basic-pace@rcs0.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl7/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-iclb:         [FAIL][104] ([i915#2842]) -> [PASS][105] +1 similar issue
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb4/igt@gem_exec_fair@basic-pace@vcs1.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb4/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-kbl:          [INCOMPLETE][106] ([i915#155] / [i915#794]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-kbl2/igt@gem_workarounds@suspend-resume-fd.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl6/igt@gem_workarounds@suspend-resume-fd.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-tglb:         [INCOMPLETE][108] ([i915#456]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb7/igt@i915_suspend@fence-restore-untiled.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb1/igt@i915_suspend@fence-restore-untiled.html

  * igt@i915_suspend@forcewake:
    - shard-apl:          [DMESG-WARN][110] ([i915#180]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-apl1/igt@i915_suspend@forcewake.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-apl7/igt@i915_suspend@forcewake.html

  * igt@kms_cursor_legacy@flip-vs-cursor-toggle:
    - shard-skl:          [FAIL][112] ([i915#2346]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html

  * igt@kms_draw_crc@draw-method-xrgb8888-pwrite-ytiled:
    - shard-skl:          [DMESG-WARN][114] ([i915#1982]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl10/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-ytiled.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl2/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-ytiled.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1:
    - shard-skl:          [FAIL][116] ([i915#79]) -> [PASS][117] +1 similar issue
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl3/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1:
    - shard-skl:          [FAIL][118] ([i915#2122]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl1/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl1/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile:
    - shard-iclb:         [SKIP][120] ([i915#3701]) -> [PASS][121] +1 similar issue
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [SKIP][122] ([fdo#109441]) -> [PASS][123] +1 similar issue
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb6/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [DMESG-WARN][124] ([i915#180] / [i915#295]) -> [PASS][125]
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-kbl1/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-tglb:         [INCOMPLETE][126] ([i915#2828] / [i915#456]) -> [PASS][127] +1 similar issue
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-tglb7/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-tglb5/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html

  * igt@perf@polling-small-buf:
    - shard-skl:          [FAIL][128] ([i915#1722]) -> [PASS][129]
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-skl4/igt@perf@polling-small-buf.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-skl3/igt@perf@polling-small-buf.html

  
#### Warnings ####

  * igt@i915_pm_dc@dc3co-vpb-simulation:
    - shard-iclb:         [SKIP][130] ([i915#588]) -> [SKIP][131] ([i915#658])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb1/igt@i915_pm_dc@dc3co-vpb-simulation.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-iclb:         [WARN][132] ([i915#2684]) -> [WARN][133] ([i915#1804] / [i915#2684])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb5/igt@i915_pm_rc6_residency@rc6-fence.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb6/igt@i915_pm_rc6_residency@rc6-fence.html

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

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-3:
    - shard-iclb:         [SKIP][136] ([i915#2920]) -> [SKIP][137] ([i915#658]) +1 similar issue
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10621/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21117/shard-iclb1/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [FAIL][138] ([i915#4148]) -> [SKIP][139] ([fdo#109642] / [fdo#1110

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-21 23:29     ` Lucas De Marchi
@ 2021-09-22  1:40       ` Matthew Brost
  2021-09-22 21:37         ` Lucas De Marchi
  0 siblings, 1 reply; 22+ messages in thread
From: Matthew Brost @ 2021-09-22  1:40 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-gfx, dri-devel

On Tue, Sep 21, 2021 at 04:29:31PM -0700, Lucas De Marchi wrote:
> On Tue, Sep 21, 2021 at 03:55:15PM -0700, Matthew Brost wrote:
> > On Tue, Sep 21, 2021 at 11:46:37AM -0700, Lucas De Marchi wrote:
> > > On Tue, Sep 21, 2021 at 10:43:32AM -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
> > > >
> > > > 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;
> > > 
> > > since the knowledge for these being NULL (or with the wrong alignment)
> > > are in the init/reinit functions,  wouldn't it be better to just add a
> > > fence_nop() and assign it there instead this likely() here?
> > > 
> > 
> > Maybe? I prefer the way it is.
> > 
> > > > }
> > > >
> > > > #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;
> > > 
> > > like:
> > > 	if (WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK))
> > > 		fence->flags = (unsigned long)sw_fence_dummy_notify;
> > > 	else
> > > 		fence->flags = (unsigned long)fn;
> > > 
> > > 
> > > f you return here instead of calling i915_sw_fence_reinit(), aren't you
> > > just going to use uninitialized memory later? At least in the selftests,
> > > which allocate it with kmalloc()... I didn't check others.
> > > 
> > 
> > I don't think so, maybe the fence won't work but it won't blow up
> > either.
> > 
> > > 
> > > For the bug fix we could just add the __aligned(4) and leave the rest to a
> > > separate patch.
> > > 
> > 
> > The bug was sw_fence_dummy_notify in gt/intel_context.c was not 4 byte
> > align which triggered a BUG_ON during boot which blank screened a
> > laptop. Jani / Tvrtko suggested that we make the BUG_ON to WARN_ONs so
> > if someone makes this mistake in the future kernel should boot albiet
> > with a WARNING.
> 
> yes, I understood. But afaics with WARN_ON you are allowing it to
> continue and may be using uninitialized memory later, just causing other
> problems down the line, which may be equally difficult to debug.
> 
> what I suggested is that there is the easy fix to apply to the current
> rcX kernel, adding __aligned(4) to sw_fence_dummy_notify() (patch 1).
> And there is the additional protection being added here (patch 2) which
> is subject to the debate.
> 

Got it. Will post as 2 different patches.

> > 
> > The long term fix is just pull out the I915_SW_FENCE_MASK (stealing bits
> > from a poitner) and we don't have to worry any of this.
> 
> Patch 2 may not even be needed if you're going that route. But we are
> not only protecting against unaligned, but also from code calling
> i915_sw_fence_init() with a NULL fn.
> 

Maybe, I'll just do the proper fix in patch #2 right away.

Matt

> Lucas De Marchi
> 
> > 
> > Matt
> > 
> > > 
> > > Lucas De Marchi
> > > 
> > > > 	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	[flat|nested] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-22  1:40       ` Matthew Brost
@ 2021-09-22 21:37         ` Lucas De Marchi
  0 siblings, 0 replies; 22+ messages in thread
From: Lucas De Marchi @ 2021-09-22 21:37 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-gfx, dri-devel

On Tue, Sep 21, 2021 at 06:40:41PM -0700, Matthew Brost wrote:
>On Tue, Sep 21, 2021 at 04:29:31PM -0700, Lucas De Marchi wrote:
>> On Tue, Sep 21, 2021 at 03:55:15PM -0700, Matthew Brost wrote:
>> > On Tue, Sep 21, 2021 at 11:46:37AM -0700, Lucas De Marchi wrote:
>> > > On Tue, Sep 21, 2021 at 10:43:32AM -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
>> > > >
>> > > > 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;
>> > >
>> > > since the knowledge for these being NULL (or with the wrong alignment)
>> > > are in the init/reinit functions,  wouldn't it be better to just add a
>> > > fence_nop() and assign it there instead this likely() here?
>> > >
>> >
>> > Maybe? I prefer the way it is.
>> >
>> > > > }
>> > > >
>> > > > #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;
>> > >
>> > > like:
>> > > 	if (WARN_ON(!fn || (unsigned long)fn & ~I915_SW_FENCE_MASK))
>> > > 		fence->flags = (unsigned long)sw_fence_dummy_notify;
>> > > 	else
>> > > 		fence->flags = (unsigned long)fn;
>> > >
>> > >
>> > > f you return here instead of calling i915_sw_fence_reinit(), aren't you
>> > > just going to use uninitialized memory later? At least in the selftests,
>> > > which allocate it with kmalloc()... I didn't check others.
>> > >
>> >
>> > I don't think so, maybe the fence won't work but it won't blow up
>> > either.
>> >
>> > >
>> > > For the bug fix we could just add the __aligned(4) and leave the rest to a
>> > > separate patch.
>> > >
>> >
>> > The bug was sw_fence_dummy_notify in gt/intel_context.c was not 4 byte
>> > align which triggered a BUG_ON during boot which blank screened a
>> > laptop. Jani / Tvrtko suggested that we make the BUG_ON to WARN_ONs so
>> > if someone makes this mistake in the future kernel should boot albiet
>> > with a WARNING.
>>
>> yes, I understood. But afaics with WARN_ON you are allowing it to
>> continue and may be using uninitialized memory later, just causing other
>> problems down the line, which may be equally difficult to debug.
>>
>> what I suggested is that there is the easy fix to apply to the current
>> rcX kernel, adding __aligned(4) to sw_fence_dummy_notify() (patch 1).
>> And there is the additional protection being added here (patch 2) which
>> is subject to the debate.
>>
>
>Got it. Will post as 2 different patches.
>
>> >
>> > The long term fix is just pull out the I915_SW_FENCE_MASK (stealing bits
>> > from a poitner) and we don't have to worry any of this.
>>
>> Patch 2 may not even be needed if you're going that route. But we are
>> not only protecting against unaligned, but also from code calling
>> i915_sw_fence_init() with a NULL fn.
>>
>
>Maybe, I'll just do the proper fix in patch #2 right away.

makes sense. Thanks

Lucas De Marchi

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-10-15 15:42       ` John Harrison
@ 2021-10-15 15:55         ` Jani Nikula
  0 siblings, 0 replies; 22+ messages in thread
From: Jani Nikula @ 2021-10-15 15:55 UTC (permalink / raw)
  To: John Harrison, Tvrtko Ursulin, Ville Syrjälä, Matthew Brost
  Cc: intel-gfx, dri-devel

On Fri, 15 Oct 2021, John Harrison <john.c.harrison@intel.com> wrote:
> On 10/15/2021 07:52, Tvrtko Ursulin wrote:
>> On 04/10/2021 08:36, Jani Nikula wrote:
>>> 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")
>>
>> John you pushed this yesterday? Will this cause a problem now if we 
>> have two commits for the same bug:
> I'm thoroughly confused.
>
> I finally got far enough down my backlog to reach this and it did not 
> appear to be in the tree yet so I tried pushing it. The DIM tool gave me 
> a bunch of errors that didn't seem to make any sense. It certainly gave 
> me the impression that it did not actually do anything. So I gave up on 
> it. But now it seems like it did actually push something? And it was 
> already merged after all?

Linus merged it directly to his tree because we didn't follow through
with this soon enough. Linus' tree feeds to drm-tip via drm-intel-fixes,
but I guess we haven't done backmerges from Linux' tree to drm-next to
drm-intel-gt-next with that commit. Once you applied the patch, dim
rebuilt drm-tip, which now got the same change from both drm-intel-fixes
and drm-intel-gt-next.

It happens.

But in general, if there are regressions with blank screens at boot
occurring in Linus' tree, the fix needs to move much faster.

BR,
Jani.


>
> John.
>
>>
>> commit b0179f0d18dd7e6fb6b1c52c49ac21365257e97e
>> Author:     Hugh Dickins <hughd@google.com>
>> AuthorDate: Tue Sep 21 18:50:39 2021 -0700
>> Commit:     John Harrison <John.C.Harrison@Intel.com>
>> CommitDate: Thu Oct 14 18:29:01 2021 -0700
>>
>>     drm/i915: fix blank screen booting crashes
>>
>>
>>
>> commit cdc1e6e225e3256d56dc6648411630e71d7c776b
>> Author:     Hugh Dickins <hughd@google.com>
>> AuthorDate: Sat Oct 2 03:17:29 2021 -0700
>> Commit:     Linus Torvalds <torvalds@linux-foundation.org>
>> CommitDate: Sat Oct 2 09:39:15 2021 -0700
>>
>>     drm/i915: fix blank screen booting crashes
>>
>> Regards,
>>
>> Tvrtko
>>
>>>
>>>
>>> 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] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-10-15 14:52     ` Tvrtko Ursulin
@ 2021-10-15 15:42       ` John Harrison
  2021-10-15 15:55         ` Jani Nikula
  0 siblings, 1 reply; 22+ messages in thread
From: John Harrison @ 2021-10-15 15:42 UTC (permalink / raw)
  To: Tvrtko Ursulin, Jani Nikula, Ville Syrjälä, Matthew Brost
  Cc: intel-gfx, dri-devel

On 10/15/2021 07:52, Tvrtko Ursulin wrote:
> On 04/10/2021 08:36, Jani Nikula wrote:
>> 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")
>
> John you pushed this yesterday? Will this cause a problem now if we 
> have two commits for the same bug:
I'm thoroughly confused.

I finally got far enough down my backlog to reach this and it did not 
appear to be in the tree yet so I tried pushing it. The DIM tool gave me 
a bunch of errors that didn't seem to make any sense. It certainly gave 
me the impression that it did not actually do anything. So I gave up on 
it. But now it seems like it did actually push something? And it was 
already merged after all?

John.

>
> commit b0179f0d18dd7e6fb6b1c52c49ac21365257e97e
> Author:     Hugh Dickins <hughd@google.com>
> AuthorDate: Tue Sep 21 18:50:39 2021 -0700
> Commit:     John Harrison <John.C.Harrison@Intel.com>
> CommitDate: Thu Oct 14 18:29:01 2021 -0700
>
>     drm/i915: fix blank screen booting crashes
>
>
>
> commit cdc1e6e225e3256d56dc6648411630e71d7c776b
> Author:     Hugh Dickins <hughd@google.com>
> AuthorDate: Sat Oct 2 03:17:29 2021 -0700
> Commit:     Linus Torvalds <torvalds@linux-foundation.org>
> CommitDate: Sat Oct 2 09:39:15 2021 -0700
>
>     drm/i915: fix blank screen booting crashes
>
> Regards,
>
> Tvrtko
>
>>
>>
>> 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 ]---
>>


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

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



On 04/10/2021 08:36, Jani Nikula wrote:
> 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")

John you pushed this yesterday? Will this cause a problem now if we have 
two commits for the same bug:

commit b0179f0d18dd7e6fb6b1c52c49ac21365257e97e
Author:     Hugh Dickins <hughd@google.com>
AuthorDate: Tue Sep 21 18:50:39 2021 -0700
Commit:     John Harrison <John.C.Harrison@Intel.com>
CommitDate: Thu Oct 14 18:29:01 2021 -0700

     drm/i915: fix blank screen booting crashes



commit cdc1e6e225e3256d56dc6648411630e71d7c776b
Author:     Hugh Dickins <hughd@google.com>
AuthorDate: Sat Oct 2 03:17:29 2021 -0700
Commit:     Linus Torvalds <torvalds@linux-foundation.org>
CommitDate: Sat Oct 2 09:39:15 2021 -0700

     drm/i915: fix blank screen booting crashes

Regards,

Tvrtko

> 
> 
> 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 ]---
> 

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-24 12:16 ` Ville Syrjälä
@ 2021-10-04  7:36   ` Jani Nikula
  2021-10-15 14:52     ` Tvrtko Ursulin
  0 siblings, 1 reply; 22+ 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] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-22  1:50 [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes Matthew Brost
@ 2021-09-24 12:16 ` Ville Syrjälä
  2021-10-04  7:36   ` Jani Nikula
  0 siblings, 1 reply; 22+ 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] 22+ messages in thread

* [Intel-gfx] [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; 22+ 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] 22+ 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; 22+ 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] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-20  7:28 ` Tvrtko Ursulin
  2021-09-20  7:38   ` Jani Nikula
@ 2021-09-20 20:25   ` Matthew Brost
  1 sibling, 0 replies; 22+ 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] 22+ 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; 22+ 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] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-20  7:28 ` 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; 22+ 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] 22+ messages in thread

* Re: [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
  2021-09-17 23:38 Matthew Brost
@ 2021-09-20  7:28 ` Tvrtko Ursulin
  2021-09-20  7:38   ` Jani Nikula
  2021-09-20 20:25   ` Matthew Brost
  0 siblings, 2 replies; 22+ 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] 22+ messages in thread

* [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-17 23:38 Matthew Brost
  2021-09-20  7:28 ` Tvrtko Ursulin
  0 siblings, 1 reply; 22+ 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] 22+ messages in thread

* [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes
@ 2021-09-17 23:38 Matthew Brost
  0 siblings, 0 replies; 22+ 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] 22+ messages in thread

end of thread, other threads:[~2021-10-15 15:55 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 17:43 [PATCH] drm/i915: fix blank screen booting crashes Matthew Brost
2021-09-21 17:43 ` [Intel-gfx] " Matthew Brost
2021-09-21 18:46 ` Lucas De Marchi
2021-09-21 22:55   ` Matthew Brost
2021-09-21 23:29     ` Lucas De Marchi
2021-09-22  1:40       ` Matthew Brost
2021-09-22 21:37         ` Lucas De Marchi
2021-09-21 20:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: fix blank screen booting crashes (rev3) Patchwork
2021-09-22  0:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2021-09-22  1:50 [Intel-gfx] [PATCH] drm/i915: fix blank screen booting crashes Matthew Brost
2021-09-24 12:16 ` Ville Syrjälä
2021-10-04  7:36   ` Jani Nikula
2021-10-15 14:52     ` Tvrtko Ursulin
2021-10-15 15:42       ` John Harrison
2021-10-15 15:55         ` Jani Nikula
2021-09-17 23:38 Matthew Brost
2021-09-20  7:28 ` 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
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.