Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jan 2012 12:02:54 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        current@FreeBSD.org
Subject:   Re: locks under printf(9) and WITNESS
Message-ID:  <4F23C7CE.3050504@FreeBSD.org>
In-Reply-To: <4F1D67CA.8010809@FreeBSD.org>
References:  <20120117110242.GD12760@glebius.int.ru> <20120120154158.GD16676@FreeBSD.org> <4F1ABFF3.9090305@FreeBSD.org> <4F1ACD97.5080506@FreeBSD.org> <4F1AF55F.4090803@FreeBSD.org> <20120123130453.GH16676@glebius.int.ru> <4F1D67CA.8010809@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F23C7CE.3050504>