On Sat, Jan 21, 2012 at 07:26:55PM +0200, Andriy Gapon wrote: A> > BTW, we have a quite strange situation with spin locks in console output path. A> > cnputs_mtx is marked as MTX_NOWITNESS, supposedly because cnputs (printf) can be A> > called in any locking context (even during normal operation). But there are a A> > number of console-specific locks (scrlock, uart_hwmtx, "syscons video lock") A> > which are acquired under cnputs_mtx, but which are *not* marked as A> > MTX_NOWITNESS. More, they are specified in the witness order_lists as if we A> > certainly know a correct order for them. A> > I think that the msgbuf mutex also deserves mentioning in this context. A> > A> > I think that all of these spin locks should be marked as MTX_NOWITNESS (as long A> > as they stay normal spinlocks), because printf(9) should be usable wherever I A> > stick it in the code. A> > A> > P.S. The above only matters for WITNESS and !WITNESS_SKIPSPIN and I am not sure A> > if this combination really matters. A> > A> A> Here's my take at it: A> diff --git a/sys/kern/kern_cons.c b/sys/kern/kern_cons.c A> index 5346bc3..97f0f16 100644 ... This patch works. -- Totus tuus, Glebius.Received on Mon Jan 23 2012 - 12:04:55 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:23 UTC