projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d5f9db2
)
drm/i915: Wait for the struct_mutex on idling
author
Chris Wilson
<chris@chris-wilson.co.uk>
Tue, 30 Apr 2019 09:44:04 +0000
(10:44 +0100)
committer
Chris Wilson
<chris@chris-wilson.co.uk>
Tue, 30 Apr 2019 15:04:54 +0000
(16:04 +0100)
When the system is idling, contention for struct_mutex should be low and
so we will be more efficient to wait for a contended mutex than
reschedule.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20190430094405.6127-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_pm.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/i915_gem_pm.c
b/drivers/gpu/drm/i915/i915_gem_pm.c
index 3554d55dae35479f29256ead861176eb054460fa..3b6e8d5be8e1c84a5714973c7e9d9e588fce3c17 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_gem_pm.c
+++ b/
drivers/gpu/drm/i915/i915_gem_pm.c
@@
-47,13
+47,7
@@
static void idle_work_handler(struct work_struct *work)
struct drm_i915_private *i915 =
container_of(work, typeof(*i915), gem.idle_work.work);
- if (!mutex_trylock(&i915->drm.struct_mutex)) {
- /* Currently busy, come back later */
- mod_delayed_work(i915->wq,
- &i915->gem.idle_work,
- msecs_to_jiffies(50));
- return;
- }
+ mutex_lock(&i915->drm.struct_mutex);
intel_wakeref_lock(&i915->gt.wakeref);
if (!intel_wakeref_active(&i915->gt.wakeref))