On 03 Nov 2016 drm-intel-nightly, with i915.enable_guc_loading=1 i915.enable_guc_submission=1 Every couple dozens of seconds I get the following error: [ 711.256431] BUG: sleeping function called from invalid context at drivers/gpu/drm/i915/i915_gem.c:4991 [ 711.256446] in_atomic(): 1, irqs_disabled(): 1, pid: 1041, name: compiz [ 711.256453] INFO: lockdep is turned off. [ 711.256459] irq event stamp: 0 [ 711.256466] hardirqs last enabled at (0): [ 711.256472] [< (null)>] (null) [ 711.256478] hardirqs last disabled at (0): [ 711.256487] [<ffffffff81097cbd>] copy_process.part.6+0x2cd/0x1fd0 [ 711.256493] softirqs last enabled at (0): [ 711.256500] [<ffffffff81097cbd>] copy_process.part.6+0x2cd/0x1fd0 [ 711.256506] softirqs last disabled at (0): [ 711.256512] [< (null)>] (null) [ 711.256525] Preemption disabled at:[ 711.256557] [<ffffffffa0082961>] __i915_add_request+0x181/0x3e0 [i915] [ 711.256568] CPU: 1 PID: 1041 Comm: compiz Tainted: G U W 4.9.0-rc3nightly-031116+ #15 [ 711.256574] Hardware name: /NUC6i5SYB, BIOS SYSKLi35.86A.0042.2016.0409.1246 04/09/2016 [ 711.256581] ffffc9000634b9a8 ffffffff8147f453 0000000000000000 ffff88082b5a8040 [ 711.256614] ffffc9000634b9e0 ffffffff810c7e94 ffffffffa0150c30 000000000000137f [ 711.256640] 0000000000000000 ffff8808413a8000 ffff880844c93400 ffffc9000634ba08 [ 711.256669] Call Trace: [ 711.256684] [<ffffffff8147f453>] dump_stack+0x86/0xc3 [ 711.256691] [<ffffffff810c7e94>] ___might_sleep+0x174/0x260 [ 711.256699] [<ffffffff810c7fca>] __might_sleep+0x4a/0x80 [ 711.256733] [<ffffffffa007f6e9>] i915_gem_object_get_sg+0x39/0x380 [i915] [ 711.256767] [<ffffffffa00a0ace>] ? i915_guc_submit+0x3e/0x360 [i915] [ 711.256798] [<ffffffffa0080292>] i915_gem_object_get_page+0x22/0x60 [i915] [ 711.256829] [<ffffffffa00a0b71>] i915_guc_submit+0xe1/0x360 [i915] [ 711.256859] [<ffffffffa0081ee1>] submit_notify+0xfd/0x17c [i915] [ 711.256885] [<ffffffffa004365a>] __i915_sw_fence_complete+0xda/0x190 [i915] [ 711.256906] [<ffffffffa0043727>] i915_sw_fence_complete+0x17/0x30 [i915] [ 711.256924] [<ffffffffa0043aa2>] i915_sw_fence_commit+0x12/0x20 [i915] [ 711.256948] [<ffffffffa008296d>] __i915_add_request+0x18d/0x3e0 [i915] [ 711.256975] [<ffffffffa006b37f>] i915_gem_do_execbuffer.isra.15+0xb5f/0x1a00 [i915] [ 711.256985] [<ffffffff81865c0e>] ? mutex_unlock+0xe/0x10 [ 711.256994] [<ffffffff811dc753>] ? __might_fault+0x43/0xa0 [ 711.257025] [<ffffffffa006c602>] i915_gem_execbuffer2+0xc2/0x250 [i915] [ 711.257035] [<ffffffff815c9c13>] drm_ioctl+0x203/0x4a0 [ 711.257059] [<ffffffffa006c540>] ? i915_gem_execbuffer+0x320/0x320 [i915] [ 711.257070] [<ffffffff812498c5>] ? __fget+0x5/0x200 [ 711.257079] [<ffffffff8123c584>] do_vfs_ioctl+0x94/0x6b0 [ 711.257086] [<ffffffff812499cd>] ? __fget+0x10d/0x200 [ 711.257093] [<ffffffff812498c5>] ? __fget+0x5/0x200 [ 711.257101] [<ffffffff8123cbe1>] SyS_ioctl+0x41/0x70 [ 711.257110] [<ffffffff8186a205>] entry_SYSCALL_64_fastpath+0x23/0xc6 Introduced by: "drm/i915: Use a radixtree for random access to the object's backing storage"
Just the guc. Patch already on the list: https://patchwork.freedesktop.org/patch/119728/
commit 72aa0d899a3ea7e14436ac0b869cf3333277b92e Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Nov 2 17:50:47 2016 +0000 drm/i915/guc: Cache the client mapping Use i915_gem_object_pin_map() for the guc client's lifetime to replace the peristent kmap + frequent kmap_atomic with a permanent vmapping. This avoids taking the obj->mm.lock mutex whilst inside irq context later.
Arkadiusz can you re-test / verify ?
I do confirm that this is fixed in newest nightly, which includes Chris' change. Thank you.
(In reply to arkadiusz.hiler@intel.com from comment #4) > I do confirm that this is fixed in newest nightly, which includes Chris' > change. Thank you. thanks, then closing it
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.