Hi,
I guess these come from recently enabled witness kernels. Seems there are some potential issues in drm code. Timo lock order reversal: 1st 0xffffff03a1d6e5d0 vmmaplk (&map->lock) @ /usr/src/sys/uvm/uvm_fault.c:1441 2nd 0xffff80000012c138 drmdevlk (&dev->struct_mutex) @ /usr/src/sys/dev/pci/drm/i915/i915_gem.c:1801 lock order "&dev->struct_mutex"(rwlock) -> "&map->lock"(rwlock) first seen at: #0 witness_checkorder+0x494 #1 _rw_enter+0x56 #2 vm_map_lock_ln+0xac #3 uvm_map+0x191 #4 uvm_km_valloc+0x5f #5 vmap+0x26 #6 vmap_batch+0xdb #7 i915_parse_cmds+0x14d #8 i915_gem_execbuffer2+0x1014 #9 drm_do_ioctl+0x203 #10 drmioctl+0xe9 #11 VOP_IOCTL+0x4d #12 vn_ioctl+0x5e #13 sys_ioctl+0x439 #14 syscall+0x31d #15 Xsyscall_untramp+0xc0 lock order "&map->lock"(rwlock) -> "&dev->struct_mutex"(rwlock) first seen at: #0 witness_checkorder+0x494 #1 _rw_enter_write+0x53 #2 i915_gem_object_wait_rendering__nonblocking+0x1ea #3 i915_gem_fault+0x137 #4 drm_fault+0x18a #5 uvm_fault+0x733 #6 trap+0x509 #7 Xalltraps_untramp+0xec lock order reversal: 1st 0xffffffff81cfa410 &sched_lock (&sched_lock) @ /usr/src/sys/kern/kern_synch.c:444 2nd 0xffff8000001229f0 &dev_priv->uncore.lock (&dev_priv->uncore.lock) @ /usr/src/sys/dev/pci/drm/i915/intel_uncore.c:811 lock order "&dev_priv->uncore.lock"(mutex) -> "&sched_lock"(sched_lock) first seen at: #0 witness_checkorder+0x494 #1 ___mp_lock+0x70 #2 schedclock+0x30 #3 hardclock+0xd5 #4 lapic_clockintr+0x2f #5 Xresume_lapic_ltimer+0x22 #6 gen6_read32+0x181 #7 drm_update_vblank_count+0xc1 #8 drm_handle_vblank+0xe1 #9 ironlake_irq_handler+0x390 #10 intr_handler+0x68 #11 Xintr_ioapic_edge16_untramp+0x13d #12 acpicpu_idle+0x1da #13 cpu_idle_cycle+0x10 lock order "&sched_lock"(sched_lock) -> "&dev_priv->uncore.lock"(mutex) first seen at: #0 witness_checkorder+0x494 #1 _mtx_enter+0x31 #2 gen6_read32+0x81 #3 gen6_ring_get_seqno+0x2e #4 __i915_wait_request+0x212 #5 i915_gem_object_wait_rendering__nonblocking+0x1c6 #6 i915_gem_set_domain_ioctl+0xce #7 drm_do_ioctl+0x203 #8 drmioctl+0xe9 #9 VOP_IOCTL+0x4d #10 vn_ioctl+0x5e #11 sys_ioctl+0x439 #12 syscall+0x31d #13 Xsyscall_untramp+0xc0 lock order reversal: 1st 0xffffffff81cfa410 &sched_lock (&sched_lock) @ /usr/src/sys/kern/kern_synch.c:444 2nd 0xffff800000129270 &dev_priv->irq_lock (&dev_priv->irq_lock) @ /usr/src/sys/dev/pci/drm/i915/intel_ringbuffer.c:1787 lock order "&dev_priv->irq_lock"(mutex) -> "&sched_lock"(sched_lock) first seen at: #0 witness_checkorder+0x494 #1 ___mp_lock+0x70 #2 wakeup_n+0x39 #3 task_add+0x85 #4 gen6_rps_boost+0x110 #5 __i915_wait_request+0x137 #6 i915_gem_object_wait_rendering__nonblocking+0x1c6 #7 i915_gem_set_domain_ioctl+0xce #8 drm_do_ioctl+0x203 #9 drmioctl+0xe9 #10 VOP_IOCTL+0x4d #11 vn_ioctl+0x5e #12 sys_ioctl+0x439 #13 syscall+0x31d #14 Xsyscall_untramp+0xc0 lock order "&sched_lock"(sched_lock) -> "&dev_priv->irq_lock"(mutex) first seen at: #0 witness_checkorder+0x494 #1 _mtx_enter+0x31 #2 gen6_ring_put_irq+0x36 #3 __i915_wait_request+0x344 #4 i915_gem_object_wait_rendering__nonblocking+0x1c6 #5 i915_gem_set_domain_ioctl+0xce #6 drm_do_ioctl+0x203 #7 drmioctl+0xe9 #8 VOP_IOCTL+0x4d #9 vn_ioctl+0x5e #10 sys_ioctl+0x439 #11 syscall+0x31d #12 Xsyscall_untramp+0xc0
