on 23/01/2012 15:04 Gleb Smirnoff said the following: > 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. >
Thank you for testing! -- Andriy Gapon _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"