Hi tech@, ipmi(4) enabled -current kernel gets following panic() on boot,
panic: acquiring blockable sleep lock with spinlock or critical section held (kernel_lock) &kernel_lock @ /home/fukaumi/src/sys/arch/amd64/amd64/intr.c:525 Stopped at db_enter+0x12: popq %r11 TID PID UID PRFLAGS PFLAGS CPU COMMAND *423398 6970 0 0x14000 0x200 0 ipmicmd db_enter(bd2a5f736e825eae,10,ffff8000212b6b90,282,8,ffffffff81561932) at db_enter+0x12 panic(20d,ffffffff81b62719,ffffffff81a3ba3b,ffffffff81deb598,ffffffff81b62718,ffffffff81ccb464) at panic+0x138 witness_checkorder(a2fe973e3a67ed63,ffffffff81a3ba3b,20d,0,ffffffff81deb390,ffff800000087380) at witness_checkorder+0xd52 ___mp_lock(ffff800000087380,ffff8000212b6d38,ffffffff81c97ff0,0,ffffffff817259d0,ffff8000212b6ce8) at ___mp_lock+0x70 intr_handler(c1f8564e515d4217,4,ffff80000008c280,0,6,ffff800000087380) at intr_handler+0x4c Xintr_ioapic_edge21_untramp(0,0,0,0,0,34b00) at Xintr_ioapic_edge21_untramp+0x13d i82489_readreg(8f7f922366a4de4b,0,10,ffff8000212b6e18,286,8) at i82489_readreg+0x1a lapic_delay(5ece2493000,2,ffffffff81584942,ffff8000212b 6e50) at lapic_delay+0x72 kcs_wait(e550ca8103c4e2f2,ffff800000093000,ffff8000212b19d8,ffff80000008ac00,0,8f78bfa91f4d0kcs_wait+0x75 kcs_sendmsg(ff3b00327acc0e2e,ffff800000093000,ffff8000212b19d8,ffff8000212b6f20,ffffffff8114464e,ffff8000212b6ed0) at kcs_sendmsg+0xce ipmi_cmd_poll(ffffffff813fa090,ffff8000212b19d8,ffffffff811460ff,ffff8000212b6ef0,ff3b00327acc0e2e,ffff800000093000) at ipmi_cmd_poll+0x5f ipmi_cmd_wait_cb(ffff80000008ac00,1,ffffffff811462bf,ffff8000212b6f10,ffffffff813fa090,ffff8000212b19d8) at ipmi_cmd_wait_cb+0xf taskq_thread(0,0,ffffffff81889860,0,ffff8000212b19d8,ffffffff811462b0) at taskq_thread+0x6d end trace frame: 0x0, count: 2 following diff fixes it. Index: ipmi.c =================================================================== RCS file: /cvs/src/sys/dev/ipmi.c,v retrieving revision 1.101 diff -u -p -r1.101 ipmi.c --- ipmi.c 13 Apr 2018 05:33:38 -0000 1.101 +++ ipmi.c 14 Jun 2018 13:02:55 -0000 @@ -1725,7 +1725,7 @@ ipmi_attach(struct device *parent, struc c->c_sc = sc; c->c_ccode = -1; - sc->sc_cmd_taskq = taskq_create("ipmicmd", 1, IPL_NONE, TASKQ_MPSAFE); + sc->sc_cmd_taskq = taskq_create("ipmicmd", 1, IPL_NONE, 0); mtx_init(&sc->sc_cmd_mtx, IPL_NONE); } -- FUKAUMI Naoki