Shuicheng Lin
9d80698bcd
drm/xe: Add config control for svm flush work
Without CONFIG_DRM_XE_GPUSVM set, GPU SVM is not initialized thus below
warning pops. Refine the flush work code to be controlled by the config
to avoid below warning:
"
[ 453.132028] ------------[ cut here ]------------
[ 453.132527] WARNING: CPU: 9 PID: 4491 at kernel/workqueue.c:4205 __flush_work+0x379/0x3a0
[ 453.133355] Modules linked in: xe drm_ttm_helper ttm gpu_sched drm_buddy drm_suballoc_helper drm_gpuvm drm_exec
[ 453.134352] CPU: 9 UID: 0 PID: 4491 Comm: xe_exec_mix_mod Tainted: G U W 6.15.0-rc3+ #7 PREEMPT(full)
[ 453.135405] Tainted: [U]=USER, [W]=WARN
...
[ 453.136921] RIP: 0010:__flush_work+0x379/0x3a0
[ 453.137417] Code: 8b 45 00 48 8b 55 08 89 c7 48 c1 e8 04 83 e7 08 83 e0 0f 83 cf 02 89 c6 48 0f ba 6d 00 03 e9 d5 fe ff ff 0f 0b e9 db fd ff ff <0f> 0b 45 31 e4 e9 d1 fd ff ff 0f 0b e9 03 ff ff ff 0f 0b e9 d6 fe
[ 453.139250] RSP: 0018:ffffc90000c67b18 EFLAGS: 00010246
[ 453.139782] RAX: 0000000000000000 RBX: ffff888108a24000 RCX: 0000000000002000
[ 453.140521] RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff8881016d61c8
[ 453.141253] RBP: ffff8881016d61c8 R08: 0000000000000000 R09: 0000000000000000
[ 453.141985] R10: 0000000000000000 R11: 0000000008a24000 R12: 0000000000000001
[ 453.142709] R13: 0000000000000002 R14: 0000000000000000 R15: ffff888107db8c00
[ 453.143450] FS: 00007f44853d4c80(0000) GS:ffff8882f469b000(0000) knlGS:0000000000000000
[ 453.144276] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 453.144853] CR2: 00007f4487629228 CR3: 00000001016aa000 CR4: 00000000000406f0
[ 453.145594] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 453.146320] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 453.147061] Call Trace:
[ 453.147336] <TASK>
[ 453.147579] ? tick_nohz_tick_stopped+0xd/0x30
[ 453.148067] ? xas_load+0x9/0xb0
[ 453.148435] ? xa_load+0x6f/0xb0
[ 453.148781] __xe_vm_bind_ioctl+0xbd5/0x1500 [xe]
[ 453.149338] ? dev_printk_emit+0x48/0x70
[ 453.149762] ? _dev_printk+0x57/0x80
[ 453.150148] ? drm_ioctl+0x17c/0x440
[ 453.150544] ? __drm_dev_vprintk+0x36/0x90
[ 453.150983] ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
[ 453.151575] ? drm_ioctl_kernel+0x9f/0xf0
[ 453.151998] ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
[ 453.152560] drm_ioctl_kernel+0x9f/0xf0
[ 453.152968] drm_ioctl+0x20f/0x440
[ 453.153332] ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe]
[ 453.153893] ? ioctl_has_perm.constprop.0.isra.0+0xae/0x100
[ 453.154489] ? memory_bm_test_bit+0x5/0x60
[ 453.154935] xe_drm_ioctl+0x47/0x70 [xe]
[ 453.155419] __x64_sys_ioctl+0x8d/0xc0
[ 453.155824] do_syscall_64+0x47/0x110
[ 453.156228] entry_SYSCALL_64_after_hwframe+0x76/0x7e
"
v2 (Matt):
refine commit message to have more details
add Fixes tag
move the code to xe_svm.h which already have the config
remove a blank line per codestyle suggestion
Fixes: 63f6e480d1 ("drm/xe: Add SVM garbage collector")
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250502170052.1787973-1-shuicheng.lin@intel.com
2025-05-07 11:11:15 -07:00
..
2025-04-07 14:35:48 +02:00
2025-04-14 15:29:49 +10:00
2025-02-18 07:43:43 +01:00
2024-12-13 08:48:09 +10:00
2025-02-26 15:27:06 +01:00
2025-04-07 15:08:48 +02:00
2024-12-13 08:48:09 +10:00
2025-04-07 15:48:23 +03:00
2025-03-25 16:29:58 +05:30
2025-03-11 12:51:21 +01:00
2025-04-07 15:49:19 +03:00
2025-02-12 11:59:52 +01:00
2025-04-05 10:30:12 +02:00
2025-03-06 12:37:33 -05:00
2025-04-07 14:35:48 +02:00
2025-04-07 14:35:48 +02:00
2025-03-25 16:20:38 +02:00
2025-03-09 23:46:56 +00:00
2025-04-15 05:06:51 +10:00
2025-04-14 15:29:49 +10:00
2025-03-20 14:45:38 +01:00
2025-03-20 14:45:38 +01:00
2024-12-13 08:48:09 +10:00
2024-10-03 18:19:38 +02:00
2025-04-07 14:35:48 +02:00
2024-12-13 08:48:09 +10:00
2025-02-14 00:54:29 +02:00
2025-03-20 14:45:38 +01:00
2025-04-07 14:35:48 +02:00
2025-03-20 14:45:38 +01:00
2025-02-11 10:53:53 +01:00
2025-04-07 15:48:23 +03:00
2025-03-12 09:14:29 +01:00
2025-04-14 15:29:49 +10:00
2025-04-07 14:35:48 +02:00
2025-04-08 17:35:56 +03:00
2025-03-31 12:12:55 +01:00
2025-03-26 22:59:56 +03:00
2025-03-07 10:25:10 +01:00
2025-01-07 12:45:19 +02:00
2025-04-07 14:35:48 +02:00
2025-04-07 07:30:01 +01:00
2025-04-10 10:51:06 +02:00
2025-04-07 14:35:48 +02:00
2025-01-16 10:48:47 +01:00
2025-03-10 16:25:01 -04:00
2025-04-14 15:29:49 +10:00
2025-03-20 14:45:38 +01:00
2024-12-13 08:48:09 +10:00
2025-04-09 09:03:15 +02:00
2025-04-02 17:41:27 +03:00
2025-04-14 15:29:49 +10:00
2025-03-20 14:45:38 +01:00
2024-12-13 08:48:09 +10:00
2025-04-07 14:35:48 +02:00
2025-04-24 06:56:35 +10:00
2024-12-13 08:48:09 +10:00
2025-03-24 09:31:02 +01:00
2025-04-07 14:35:48 +02:00
2025-02-28 09:05:10 +01:00
2025-04-07 14:35:48 +02:00
2025-04-07 14:35:48 +02:00
2025-04-14 15:29:49 +10:00
2025-04-07 14:35:48 +02:00
2025-04-07 14:35:48 +02:00
2025-05-07 11:11:15 -07:00
2024-12-05 12:35:42 +02:00
2025-03-20 14:45:38 +01:00
2025-03-20 14:45:48 +01:00
2025-03-28 17:44:52 -07:00
2025-03-20 14:45:46 +01:00
2025-03-20 14:45:48 +01:00
2025-04-07 11:38:05 +02:00
2025-01-14 20:43:19 +05:30
2025-03-05 21:48:49 +01:00
2025-03-13 18:33:57 +02:00
2025-03-26 22:59:56 +03:00
2025-03-10 18:18:37 +02:00
2025-01-07 12:45:19 +02:00
2025-03-27 14:02:57 +02:00
2024-08-23 16:55:35 +02:00
2025-01-08 01:39:58 +02:00
2025-03-03 14:45:40 +02:00
2025-03-12 10:50:32 +01:00
2024-08-14 10:19:09 +03:00
2024-12-10 14:36:41 +01:00
2025-04-07 14:35:48 +02:00
2025-03-12 10:50:33 +01:00
2025-04-02 17:19:54 -04:00
2024-09-01 20:25:44 -07:00
2025-03-06 08:59:17 +01:00
2025-03-05 21:48:50 +01:00
2025-02-27 09:37:55 +01:00
2024-09-26 09:31:28 +02:00
2024-09-26 09:31:29 +02:00
2025-02-07 15:23:36 +01:00
2025-04-07 08:45:31 +02:00
2025-04-01 15:35:22 +02:00
2024-09-26 08:27:49 +02:00
2024-11-25 16:09:48 -08:00
2025-03-06 08:59:01 +01:00
2025-03-26 22:59:56 +03:00
2025-04-04 15:56:44 +03:00
2024-09-06 14:41:38 +02:00
2025-03-26 23:00:02 +03:00
2025-04-29 11:18:13 -07:00
2025-03-26 22:59:56 +03:00
2024-10-08 10:00:30 +02:00
2025-01-21 10:32:31 +01:00
2025-03-06 08:59:20 +01:00
2025-03-30 19:47:12 +03:00
2024-09-04 12:15:46 +03:00
2024-12-17 15:43:04 +02:00
2024-09-11 14:17:11 +02:00
2025-01-10 14:24:17 +10:00
2024-10-18 09:23:03 +02:00
2025-02-17 14:17:55 +01:00
2024-11-21 09:28:15 -06:00
2025-03-15 20:49:38 +02:00
2025-04-08 09:39:50 -07:00
2025-04-07 14:35:48 +02:00
2025-03-30 17:03:26 -07:00
2025-03-26 22:59:56 +03:00
2024-12-10 14:08:40 +02:00
2025-03-24 09:31:03 +01:00
2024-08-26 16:40:09 +02:00
2025-04-01 18:30:25 +02:00
2025-02-21 09:20:31 +01:00
2025-01-08 18:15:03 +01:00
2025-04-05 10:30:12 +02:00
2025-02-20 15:02:09 +01:00
2025-04-07 14:35:48 +02:00
2025-03-24 10:41:52 +01:00
2025-04-07 14:35:48 +02:00