[Intel-gfx] [PATCH 01/11] drm/i915: Mark the userptr invalidate workqueue as WQ_MEM_RECLAIM
Chris Wilson
chris at chris-wilson.co.uk
Mon Sep 11 08:41:25 UTC 2017
To silence the critcs:
[56532.161115] workqueue: PF_MEMALLOC task 36(khugepaged) is flushing !WQ_MEM_RECLAIM i915-userptr-release: (null)
[56532.161138] ------------[ cut here ]------------
[56532.161144] WARNING: CPU: 1 PID: 36 at kernel/workqueue.c:2418 check_flush_dependency+0xe8/0xf0
[56532.161145] Modules linked in: wmi_bmof
[56532.161148] CPU: 1 PID: 36 Comm: khugepaged Not tainted 4.13.0-krejzi #1
[56532.161149] Hardware name: HP HP ProBook 470 G3/8102, BIOS N78 Ver. 01.17 06/08/2017
[56532.161150] task: ffff8802371ee200 task.stack: ffffc90000174000
[56532.161152] RIP: 0010:check_flush_dependency+0xe8/0xf0
[56532.161152] RSP: 0018:ffffc900001777b8 EFLAGS: 00010286
[56532.161153] RAX: 000000000000006c RBX: ffff88022fc5a000 RCX: 0000000000000001
[56532.161154] RDX: 0000000000000000 RSI: 0000000000000086 RDI: 00000000ffffffff
[56532.161155] RBP: 0000000000000000 R08: 14f038bb55f6dae0 R09: 0000000000000516
[56532.161155] R10: ffffc900001778a0 R11: 000000006c756e28 R12: ffff8802371ee200
[56532.161156] R13: 0000000000000000 R14: 000000000000000b R15: ffffc90000177810
[56532.161157] FS: 0000000000000000(0000) GS:ffff880240480000(0000) knlGS:0000000000000000
[56532.161158] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[56532.161158] CR2: 0000000004795ff8 CR3: 000000000220a000 CR4: 00000000003406e0
[56532.161159] Call Trace:
[56532.161161] ? flush_workqueue+0x136/0x3e0
[56532.161178] ? _raw_spin_unlock_irqrestore+0xf/0x30
[56532.161179] ? try_to_wake_up+0x1ce/0x3b0
[56532.161183] ? i915_gem_userptr_mn_invalidate_range_start+0x13f/0x150
[56532.161184] ? _raw_spin_unlock+0xd/0x20
[56532.161186] ? i915_gem_userptr_mn_invalidate_range_start+0x13f/0x150
[56532.161189] ? __mmu_notifier_invalidate_range_start+0x4a/0x70
[56532.161191] ? try_to_unmap_one+0x5e5/0x660
[56532.161193] ? rmap_walk_file+0xe4/0x240
[56532.161195] ? __ClearPageMovable+0x10/0x10
[56532.161196] ? try_to_unmap+0x8c/0xe0
[56532.161197] ? page_remove_rmap+0x280/0x280
[56532.161199] ? page_not_mapped+0x10/0x10
[56532.161200] ? page_get_anon_vma+0x90/0x90
[56532.161202] ? migrate_pages+0x6a5/0x940
[56532.161203] ? isolate_freepages_block+0x330/0x330
[56532.161205] ? compact_zone+0x593/0x6a0
[56532.161206] ? enqueue_task_fair+0xc3/0x1180
[56532.161208] ? compact_zone_order+0x9b/0xc0
[56532.161210] ? get_page_from_freelist+0x24a/0x900
[56532.161212] ? try_to_compact_pages+0xc8/0x240
[56532.161213] ? try_to_compact_pages+0xc8/0x240
[56532.161215] ? __alloc_pages_direct_compact+0x45/0xe0
[56532.161216] ? __alloc_pages_slowpath+0x845/0xb90
[56532.161218] ? __alloc_pages_nodemask+0x176/0x1f0
[56532.161220] ? wait_woken+0x80/0x80
[56532.161222] ? khugepaged+0x29e/0x17d0
[56532.161223] ? wait_woken+0x80/0x80
[56532.161225] ? collapse_shmem.isra.39+0xa60/0xa60
[56532.161226] ? kthread+0x10d/0x130
[56532.161227] ? kthread_create_on_node+0x60/0x60
[56532.161228] ? ret_from_fork+0x22/0x30
[56532.161229] Code: 00 8b b0 10 05 00 00 48 8d 8b b0 00 00 00 48 8d 90 b8 06 00 00 49 89 e8 48 c7 c7 38 55 09 82 c6 05 f9 c6 1d 01 01 e8 0e a1 03 00 <0f> ff e9 6b ff ff ff 90 48 8b 37 40 f6 c6 04 75 1b 48 c1 ee 05
[56532.161251] ---[ end trace 2ce2b4f5f69b803b ]---
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
drivers/gpu/drm/i915/i915_gem_userptr.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c
index 2ce078e8c763..15547c8f7d3f 100644
--- a/drivers/gpu/drm/i915/i915_gem_userptr.c
+++ b/drivers/gpu/drm/i915/i915_gem_userptr.c
@@ -813,7 +813,9 @@ int i915_gem_init_userptr(struct drm_i915_private *dev_priv)
hash_init(dev_priv->mm_structs);
dev_priv->mm.userptr_wq =
- alloc_workqueue("i915-userptr-acquire", WQ_HIGHPRI, 0);
+ alloc_workqueue("i915-userptr-acquire",
+ WQ_HIGHPRI | WQ_MEM_RECLAIM,
+ 0);
if (!dev_priv->mm.userptr_wq)
return -ENOMEM;
--
2.14.1
More information about the Intel-gfx
mailing list