Chris Wilson
2e1e5c5532
drm/i915: Avoid reclaim taints from runtime-pm debug
As intel_runtime_pm_get/_put may be called from any blockable context,
we need to avoid allowing reclaim from our mallocs, as we need to
avoid tainting any mutexes held by the callers (as they may themselves
not allow for allocations as they are taken in the shrinker).
<4> [435.339331] WARNING: possible circular locking dependency detected
<4> [435.339364] 5.1.0-rc4-CI-Trybot_4116+ #1 Tainted: G U
<4> [435.339395] ------------------------------------------------------
<4> [435.339426] gem_caching/1334 is trying to acquire lock:
<4> [435.339456] 000000004505c39b (wakeref#3){+.+.}, at: intel_engine_pm_put+0x1b/0x40 [i915]
<4> [435.339788]
but task is already holding lock:
<4> [435.339819] 00000000ee77b4ed (fs_reclaim){+.+.}, at: fs_reclaim_acquire.part.24+0x0/0x30
<4> [435.339879]
which lock already depends on the new lock.
<4> [435.339918]
the existing dependency chain (in reverse order) is:
<4> [435.339952]
-> #1 (fs_reclaim){+.+.}:
<4> [435.339998] fs_reclaim_acquire.part.24+0x24/0x30
<4> [435.340035] kmem_cache_alloc_trace+0x2a/0x290
<4> [435.340311] __print_intel_runtime_pm_wakeref+0x24/0x160 [i915]
<4> [435.340590] untrack_intel_runtime_pm_wakeref+0x16e/0x1d0 [i915]
<4> [435.340869] intel_runtime_pm_put_unchecked+0xd/0x30 [i915]
<4> [435.341147] __intel_wakeref_put_once+0x22/0x40 [i915]
<4> [435.341508] i915_request_retire+0x477/0xaf0 [i915]
<4> [435.341871] ring_retire_requests+0x86/0x160 [i915]
<4> [435.342226] i915_retire_requests+0x58/0xc0 [i915]
<4> [435.342576] retire_work_handler+0x5b/0x70 [i915]
<4> [435.342615] process_one_work+0x245/0x610
<4> [435.342646] worker_thread+0x37/0x380
<4> [435.342679] kthread+0x119/0x130
<4> [435.342714] ret_from_fork+0x3a/0x50
<4> [435.342739]
-> #0 (wakeref#3){+.+.}:
<4> [435.342788] lock_acquire+0xa6/0x1c0
<4> [435.342822] __mutex_lock+0x8c/0x960
<4> [435.342853] atomic_dec_and_mutex_lock+0x33/0x50
<4> [435.343151] intel_engine_pm_put+0x1b/0x40 [i915]
<4> [435.343501] i915_request_retire+0x477/0xaf0 [i915]
<4> [435.343851] ring_retire_requests+0x86/0x160 [i915]
<4> [435.344202] i915_retire_requests+0x58/0xc0 [i915]
<4> [435.344543] i915_gem_shrink+0xd8/0x5b0 [i915]
<4> [435.344835] i915_drop_caches_set+0x17b/0x250 [i915]
<4> [435.344877] simple_attr_write+0xb0/0xd0
<4> [435.344911] full_proxy_write+0x51/0x80
<4> [435.344943] vfs_write+0xbd/0x1b0
<4> [435.344972] ksys_write+0x55/0xe0
<4> [435.345002] do_syscall_64+0x55/0x190
<4> [435.345040] entry_SYSCALL_64_after_hwframe+0x49/0xbe
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190409174108.19396-1-chris@chris-wilson.co.uk
2019-04-11 20:48:52 +01:00
..
2019-04-02 15:09:08 +01:00
2019-04-08 19:15:05 +01:00
2019-04-04 19:49:42 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2018-06-18 14:45:58 +03:00
2019-01-09 10:26:36 +02:00
2019-02-05 17:20:11 +00:00
2019-03-08 09:52:29 -08:00
2019-03-08 10:57:12 +00:00
2019-03-05 18:19:50 +00:00
2019-04-10 10:46:52 -07:00
2019-04-08 09:53:35 +03:00
2019-04-10 21:18:11 +01:00
2018-11-20 12:49:24 +02:00
2018-03-09 22:21:41 +00:00
2018-03-09 22:21:41 +00:00
2018-08-17 11:22:15 +02:00
2019-03-22 13:12:38 +00:00
2019-04-08 17:04:12 +01:00
2019-04-02 15:09:08 +01:00
2019-03-21 17:28:12 +00:00
2019-03-08 10:57:12 +00:00
2019-03-21 17:28:12 +00:00
2019-03-20 17:50:35 +00:00
2019-01-25 14:27:22 +00:00
2019-04-11 20:48:51 +01:00
2019-04-02 15:09:08 +01:00
2019-02-28 11:08:02 +00:00
2019-03-06 10:00:50 +00:00
2019-03-31 12:46:52 +01:00
2019-03-21 17:28:12 +00:00
2018-02-21 20:57:22 +00:00
2019-01-28 16:24:13 +00:00
2019-02-28 11:08:02 +00:00
2019-03-20 17:50:35 +00:00
2019-03-31 12:46:52 +01:00
2019-04-10 21:18:11 +01:00
2019-04-02 15:09:08 +01:00
2017-11-30 10:11:49 +02:00
2019-04-08 17:04:01 +01:00
2019-03-08 13:59:52 +00:00
2019-04-05 15:23:40 +01:00
2019-04-02 15:09:08 +01:00
2019-01-24 13:20:42 +01:00
2019-04-11 08:40:35 +01:00
2017-12-22 11:12:15 +00:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2018-10-23 15:09:16 +01:00
2019-01-29 10:41:58 +01:00
2019-01-29 10:41:58 +01:00
2019-04-08 09:52:49 +03:00
2019-03-26 20:20:24 +00:00
2019-03-27 18:23:53 +02:00
2019-02-24 21:20:27 +01:00
2019-04-02 15:52:09 +01:00
2019-03-15 09:04:54 +00:00
2019-02-26 10:32:57 +00:00
2018-03-08 10:07:18 +00:00
2019-04-11 08:40:35 +01:00
2019-04-11 20:48:51 +01:00
2019-04-11 07:14:27 +01:00
2019-04-05 22:03:24 +01:00
2019-04-08 09:51:56 +03:00
2019-04-02 15:52:09 +01:00
2019-04-11 07:14:27 +01:00
2019-04-02 15:09:08 +01:00
2019-01-29 19:59:57 +00:00
2019-04-08 09:51:56 +03:00
2019-03-22 13:12:38 +00:00
2019-03-22 13:12:38 +00:00
2018-09-26 13:32:03 +01:00
2019-01-14 16:18:25 +00:00
2019-04-08 17:04:12 +01:00
2019-04-08 17:04:12 +01:00
2019-04-08 17:04:12 +01:00
2017-11-02 11:10:55 +01:00
2019-02-26 09:55:37 +00:00
2019-03-22 13:12:30 +00:00
2019-03-22 13:12:30 +00:00
2019-03-27 18:23:53 +02:00
2019-03-26 19:15:15 +00:00
2019-03-15 09:04:54 +00:00
2019-03-06 10:00:50 +00:00
2019-03-06 10:00:50 +00:00
2019-04-10 15:39:45 +03:00
2019-01-09 10:26:36 +02:00
2019-04-08 09:53:30 +03:00
2019-04-08 09:53:07 +03:00
2019-04-08 09:53:30 +03:00
2019-04-08 09:51:22 +03:00
2019-04-08 09:51:22 +03:00
2019-03-25 15:16:33 +02:00
2019-03-08 09:52:48 -08:00
2019-04-08 09:53:40 +03:00
2019-04-08 09:53:40 +03:00
2019-04-08 09:52:14 +03:00
2019-04-08 09:52:14 +03:00
2018-11-15 16:36:58 -08:00
2019-04-08 09:52:36 +03:00
2019-04-08 09:51:41 +03:00
2019-04-10 21:18:11 +01:00
2019-03-19 08:21:13 +00:00
2019-03-19 08:21:13 +00:00
2019-04-08 09:51:41 +03:00
2019-04-08 09:51:29 +03:00
2019-04-08 09:51:49 +03:00
2019-04-08 09:51:49 +03:00
2019-04-10 15:39:45 +03:00
2019-04-08 09:51:36 +03:00
2019-04-03 10:55:43 +01:00
2019-04-02 15:09:08 +01:00
2019-04-08 15:15:08 +03:00
2019-03-08 08:23:15 -08:00
2018-06-18 14:46:04 +03:00
2019-04-08 09:52:54 +03:00
2019-04-11 21:22:40 +03:00
2019-04-11 21:22:40 +03:00
2019-04-11 21:22:40 +03:00
2019-04-08 09:52:54 +03:00
2019-03-26 20:20:24 +00:00
2019-03-19 12:57:55 +02:00
2019-04-08 15:15:08 +03:00
2019-03-22 18:41:39 +02:00
2018-11-13 17:20:32 +02:00
2019-03-22 18:41:39 +02:00
2019-04-08 09:53:25 +03:00
2019-04-08 09:53:25 +03:00
2019-04-11 09:20:04 +01:00
2019-04-11 09:20:04 +01:00
2019-04-08 09:52:03 +03:00
2019-04-08 09:51:56 +03:00
2019-04-08 09:52:49 +03:00
2019-04-08 09:52:49 +03:00
2019-04-08 09:51:56 +03:00
2019-04-08 09:52:54 +03:00
2019-04-08 09:51:18 +03:00
2019-03-01 17:45:07 +00:00
2019-03-08 14:00:02 +00:00
2018-01-03 14:02:10 +00:00
2019-03-24 11:31:47 +00:00
2019-02-20 23:53:04 +00:00
2019-03-20 21:12:31 +00:00
2017-12-06 14:41:47 +00:00
2018-10-23 09:42:25 +01:00
2019-02-22 11:25:32 +00:00
2018-06-12 15:44:47 +01:00
2018-10-23 09:42:25 +01:00
2019-04-11 20:48:51 +01:00
2019-04-02 15:09:08 +01:00
2019-03-26 20:20:24 +00:00
2019-03-24 11:31:47 +00:00
2019-01-10 11:38:34 +08:00
2019-04-02 15:09:08 +01:00
2019-04-08 09:52:30 +03:00
2019-04-08 09:52:30 +03:00
2019-04-08 09:53:01 +03:00
2019-04-08 09:53:01 +03:00
2019-02-05 09:43:23 -08:00
2019-03-26 20:16:45 +00:00
2018-03-02 09:04:45 +00:00
2019-03-26 20:20:24 +00:00
2018-06-28 22:51:33 +01:00
2019-03-26 20:16:45 +00:00
2019-01-24 13:20:42 +01:00
2018-08-01 17:03:31 +01:00
2019-04-11 20:48:52 +01:00
2019-04-11 20:48:51 +01:00
2019-04-08 09:52:54 +03:00
2019-04-08 09:52:21 +03:00
2019-04-08 09:53:21 +03:00
2019-04-08 09:53:21 +03:00
2019-03-13 13:00:24 -07:00
2019-01-09 10:26:36 +02:00
2019-04-08 09:52:36 +03:00
2018-11-30 09:46:31 +00:00
2019-03-05 18:19:50 +00:00
2019-04-08 09:52:36 +03:00
2019-04-08 09:52:36 +03:00
2019-04-08 09:53:12 +03:00
2019-04-08 09:53:12 +03:00
2019-04-11 08:40:20 +01:00
2019-04-08 09:52:43 +03:00
2019-04-08 10:39:11 -07:00
2019-04-08 09:52:03 +03:00
2018-10-18 13:40:13 +03:00
2019-04-10 21:18:11 +01:00
2019-04-11 20:48:51 +01:00
2019-04-11 20:48:52 +01:00
2019-04-08 09:53:01 +03:00
2019-04-08 09:52:26 +03:00
2019-03-26 20:20:24 +00:00
2019-04-08 09:53:30 +03:00
2019-04-08 09:53:30 +03:00
2019-04-08 09:53:16 +03:00
2019-04-08 09:53:16 +03:00
2019-01-08 22:41:09 +00:00
2018-10-04 07:29:47 +01:00
2019-03-30 08:02:07 +00:00
2019-02-20 23:53:21 +00:00
2019-04-08 09:52:43 +03:00
2019-04-05 22:03:24 +01:00
2019-03-13 14:20:19 -07:00
2019-03-05 13:24:34 -05:00
2018-12-31 15:27:23 +02:00
2018-03-14 15:35:37 +02:00
2019-03-08 13:59:44 +00:00
2019-03-26 20:16:31 +00:00
2019-03-08 13:59:44 +00:00
2018-12-22 00:25:54 +09:00
2019-01-14 16:17:50 +00:00
2019-04-04 19:49:42 +03:00
2019-04-08 09:53:35 +03:00
2019-03-26 20:20:24 +00:00
2019-04-08 09:52:36 +03:00