* [PATCH] drm/i915: Assert that fence->lock is held in an irq-safe manner
@ 2017-03-02 11:51 Chris Wilson
2017-03-02 12:17 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-03-02 12:47 ` [PATCH] " Joonas Lahtinen
0 siblings, 2 replies; 3+ messages in thread
From: Chris Wilson @ 2017-03-02 11:51 UTC (permalink / raw)
To: intel-gfx
Everytime we take the fence->lock (aka request->lock), we must do so
with irqs disabled since it may be used from within an hardirq context.
As sometimes we are taking the lock in a nested manner, assert that the
caller did disable the irqs for us.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
drivers/gpu/drm/i915/i915_gem_request.c | 5 ++++-
drivers/gpu/drm/i915/intel_breadcrumbs.c | 2 ++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c
index 95ecb182d497..fca6e86911c2 100644
--- a/drivers/gpu/drm/i915/i915_gem_request.c
+++ b/drivers/gpu/drm/i915/i915_gem_request.c
@@ -393,12 +393,14 @@ void __i915_gem_request_submit(struct drm_i915_gem_request *request)
struct intel_timeline *timeline;
u32 seqno;
+ GEM_BUG_ON(!irqs_disabled());
+ assert_spin_locked(&engine->timeline->lock);
+
trace_i915_gem_request_execute(request);
/* Transfer from per-context onto the global per-engine timeline */
timeline = engine->timeline;
GEM_BUG_ON(timeline == request->timeline);
- assert_spin_locked(&timeline->lock);
seqno = timeline_get_seqno(timeline);
GEM_BUG_ON(!seqno);
@@ -439,6 +441,7 @@ void __i915_gem_request_unsubmit(struct drm_i915_gem_request *request)
struct intel_engine_cs *engine = request->engine;
struct intel_timeline *timeline;
+ GEM_BUG_ON(!irqs_disabled());
assert_spin_locked(&engine->timeline->lock);
/* Only unwind in reverse order, required so that the per-context list
diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c b/drivers/gpu/drm/i915/intel_breadcrumbs.c
index 5752f23fd289..ba54dd1949e8 100644
--- a/drivers/gpu/drm/i915/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c
@@ -653,6 +653,7 @@ void intel_engine_enable_signaling(struct drm_i915_gem_request *request)
*/
/* locked by dma_fence_enable_sw_signaling() (irqsafe fence->lock) */
+ GEM_BUG_ON(!irqs_disabled());
assert_spin_locked(&request->lock);
seqno = i915_gem_request_global_seqno(request);
@@ -709,6 +710,7 @@ void intel_engine_cancel_signaling(struct drm_i915_gem_request *request)
struct intel_engine_cs *engine = request->engine;
struct intel_breadcrumbs *b = &engine->breadcrumbs;
+ GEM_BUG_ON(!irqs_disabled());
assert_spin_locked(&request->lock);
GEM_BUG_ON(!request->signaling.wait.seqno);
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: Assert that fence->lock is held in an irq-safe manner
2017-03-02 11:51 [PATCH] drm/i915: Assert that fence->lock is held in an irq-safe manner Chris Wilson
@ 2017-03-02 12:17 ` Patchwork
2017-03-02 12:47 ` [PATCH] " Joonas Lahtinen
1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2017-03-02 12:17 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Assert that fence->lock is held in an irq-safe manner
URL : https://patchwork.freedesktop.org/series/20554/
State : success
== Summary ==
Series 20554v1 drm/i915: Assert that fence->lock is held in an irq-safe manner
https://patchwork.freedesktop.org/api/1.0/series/20554/revisions/1/mbox/
Test pm_rpm:
Subgroup basic-pci-d3-state:
incomplete -> PASS (fi-byt-n2820) fdo#99740
fdo#99740 https://bugs.freedesktop.org/show_bug.cgi?id=99740
fi-bdw-5557u total:278 pass:267 dwarn:0 dfail:0 fail:0 skip:11
fi-bsw-n3050 total:278 pass:239 dwarn:0 dfail:0 fail:0 skip:39
fi-bxt-j4205 total:278 pass:259 dwarn:0 dfail:0 fail:0 skip:19
fi-bxt-t5700 total:278 pass:258 dwarn:0 dfail:0 fail:0 skip:20
fi-byt-j1900 total:278 pass:251 dwarn:0 dfail:0 fail:0 skip:27
fi-byt-n2820 total:278 pass:247 dwarn:0 dfail:0 fail:0 skip:31
fi-hsw-4770 total:278 pass:262 dwarn:0 dfail:0 fail:0 skip:16
fi-hsw-4770r total:278 pass:262 dwarn:0 dfail:0 fail:0 skip:16
fi-ilk-650 total:278 pass:228 dwarn:0 dfail:0 fail:0 skip:50
fi-ivb-3520m total:278 pass:260 dwarn:0 dfail:0 fail:0 skip:18
fi-ivb-3770 total:278 pass:260 dwarn:0 dfail:0 fail:0 skip:18
fi-kbl-7500u total:278 pass:259 dwarn:1 dfail:0 fail:0 skip:18
fi-skl-6260u total:278 pass:268 dwarn:0 dfail:0 fail:0 skip:10
fi-skl-6700hq total:278 pass:261 dwarn:0 dfail:0 fail:0 skip:17
fi-skl-6700k total:278 pass:256 dwarn:4 dfail:0 fail:0 skip:18
fi-skl-6770hq total:278 pass:268 dwarn:0 dfail:0 fail:0 skip:10
fi-snb-2520m total:278 pass:250 dwarn:0 dfail:0 fail:0 skip:28
fi-snb-2600 total:278 pass:249 dwarn:0 dfail:0 fail:0 skip:29
b3c4a574937b2256a716b23037c8b94ffebd7c8a drm-tip: 2017y-03m-02d-08h-59m-08s UTC integration manifest
881984e drm/i915: Assert that fence->lock is held in an irq-safe manner
== Logs ==
For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4032/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915: Assert that fence->lock is held in an irq-safe manner
2017-03-02 11:51 [PATCH] drm/i915: Assert that fence->lock is held in an irq-safe manner Chris Wilson
2017-03-02 12:17 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2017-03-02 12:47 ` Joonas Lahtinen
1 sibling, 0 replies; 3+ messages in thread
From: Joonas Lahtinen @ 2017-03-02 12:47 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On to, 2017-03-02 at 11:51 +0000, Chris Wilson wrote:
> Everytime we take the fence->lock (aka request->lock), we must do so
> with irqs disabled since it may be used from within an hardirq context.
> As sometimes we are taking the lock in a nested manner, assert that the
> caller did disable the irqs for us.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-03-02 12:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-02 11:51 [PATCH] drm/i915: Assert that fence->lock is held in an irq-safe manner Chris Wilson
2017-03-02 12:17 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-03-02 12:47 ` [PATCH] " Joonas Lahtinen
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.