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

Reply via email to