Hi, I have an ifconfig on ix(4) that hangs in "sbar" wait queue during "starting network" while booting.
load: 3.00 cmd: ifconfig 52949 [sbar] 0.01u 0.05s 0% 78k ddb{0}> ps PID TID PPID UID S FLAGS WAIT COMMAND 52949 250855 50082 0 3 0x3 sbar ifconfig 50082 468479 32384 0 3 0x10008b sigsusp sh 52583 256132 23859 77 3 0x100092 kqread dhcpleased 26314 670 23859 77 3 0x100092 kqread dhcpleased 23859 213684 1 0 3 0x80 kqread dhcpleased 1084 413649 97426 115 3 0x100092 kqread slaacd 79640 480435 97426 115 3 0x100092 kqread slaacd 97426 244636 1 0 3 0x100080 kqread slaacd 32384 389946 1 0 3 0x10008b sigsusp sh 25127 139046 0 0 3 0x14200 bored smr 38562 94707 0 0 3 0x14200 pgzero zerothread 27589 65355 0 0 3 0x14200 aiodoned aiodoned 20876 273172 0 0 3 0x14200 syncer update 35865 394897 0 0 3 0x14200 cleaner cleaner 89296 37410 0 0 3 0x14200 reaper reaper 4195 18701 0 0 3 0x14200 pgdaemon pagedaemon 70794 65241 0 0 3 0x14200 usbtsk usbtask 42580 105576 0 0 3 0x14200 usbatsk usbatsk 96913 6418 0 0 3 0x40014200 acpi0 acpi0 43860 163896 0 0 1 0x14200 idle7 9928 477713 0 0 7 0x40014200 idle6 19947 457773 0 0 7 0x40014200 idle5 71017 110610 0 0 7 0x40014200 idle4 73733 294276 0 0 7 0x40014200 idle3 73085 302072 0 0 7 0x40014200 idle2 89634 211435 0 0 7 0x40014200 idle1 45877 221411 0 0 2 0x40014200 sensors 41433 306787 0 0 3 0x14200 bored softnet3 85227 338038 0 0 3 0x14200 bored softnet2 72032 215983 0 0 3 0x14200 netlock softnet1 32550 351943 0 0 3 0x14200 bored softnet0 11993 408132 0 0 2 0x40014200 systqmp 58738 210334 0 0 3 0x14200 netlock systq 70352 115696 0 0 3 0x40014200 netlock softclock *95768 350377 0 0 7 0x40014200 idle0 1 298699 0 0 3 0x82 wait init 0 0 -1 0 3 0x10200 scheduler swapper ifconfig holds the netlock, I guess this prevents progress. ddb{0}> trace /t 0t250855 sleep_finish(ffff8000248a3928,1) at sleep_finish+0x102 cond_wait(ffff8000248a39c0,ffffffff8207c985) at cond_wait+0x64 sched_barrier(ffff80002253fff0) at sched_barrier+0x77 ixgbe_stop(ffff800000776000) at ixgbe_stop+0x1f7 ixgbe_init(ffff800000776000) at ixgbe_init+0x36 ixgbe_ioctl(ffff800000776048,8020690c,ffff800000842500) at ixgbe_ioctl+0x13e in_ifinit(ffff800000776048,ffff800000842500,ffff8000248a3cf0,1) at in_ifinit+0x f3 in_ioctl_change_ifaddr(8040691a,ffff8000248a3ce0,ffff800000776048) at in_ioctl_ change_ifaddr+0x390 ifioctl(fffffd8746c878f8,8040691a,ffff8000248a3ce0,ffff80002487ab00) at ifioctl +0x988 sys_ioctl(ffff80002487ab00,ffff8000248a3df0,ffff8000248a3e50) at sys_ioctl+0x2c 4 syscall(ffff8000248a3ec0) at syscall+0x3d4 Xsyscall() at Xsyscall+0x128 end of kernel end trace frame: 0x74aea7fb4da0, count: -12 systqmp is here, it may wait for the scheduler lock. ddb{0}> trace /t 0t408132 sched_barrier_task(ffff8000248a39b8) at sched_barrier_task+0x7e taskq_thread(ffffffff824ac758) at taskq_thread+0x100 end trace frame: 0x0, count: -2 sensors thread seems to wait for scheduler lock, too. ddb{0}> trace /t 0t221411 sched_peg_curproc(ffff80002253fff0) at sched_peg_curproc+0x69 cpu_hz_update_sensor(ffff80002253fff0) at cpu_hz_update_sensor+0x21 sensor_task_work(ffff800000366700) at sensor_task_work+0x48 taskq_thread(ffff800000362100) at taskq_thread+0x100 ddb{0}> show struct __mp_lock sched_lock struct sched_lock at 0xffffffff8250fa54 (520 bytes) {mpl_cpus = 10144565, mpl_t icket = 0x9acb36, mpl_users = 0x9acb35} systq is blocked by netlock ddb{0}> trace /t 0t210334 sleep_finish(ffff8000247ab030,1) at sleep_finish+0x102 rw_enter(ffffffff824a4fe8,1) at rw_enter+0x1cf pf_purge(ffffffff824bb760) at pf_purge+0x38 taskq_thread(ffffffff824ac708) at taskq_thread+0x100 end trace frame: 0x0, count: -4 bluhm