locks under printf(9) and WITNESS

Andriy Gapon avg at FreeBSD.org
Sat Jan 28 10:02:58 UTC 2012

BTW, I see another LOR with spinlocks, maybe harmless.

o sysbeep() is called from syscons code and it calls timeout() which introduces
the following order: scrlock -> callout.

o The callout code programming of event timers introduces the following order
(via callout_new_inserted == cpu_new_callout):
callout -> et_hw_mtx

o Eventtimers' doconfigtimer calls  loadtimer with et_hw_mtx held, loadtimer
calls et_start method of a configured event timer and, e.g. in the case of
lapic_et_start and bootverbose it calls printf(9), which gives:
et_hw_mtx -> scrlock

This is just for the information.
Andriy Gapon

More information about the freebsd-current mailing list