From owner-freebsd-doc@FreeBSD.ORG Fri Jul 2 08:41:33 2004 Return-Path: Delivered-To: freebsd-doc@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4BE7216A4CE for ; Fri, 2 Jul 2004 08:41:33 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2FF2843D3F for ; Fri, 2 Jul 2004 08:41:33 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i628eEc0035672 for ; Fri, 2 Jul 2004 08:40:14 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i628eELW035671; Fri, 2 Jul 2004 08:40:14 GMT (envelope-from gnats) Resent-Date: Fri, 2 Jul 2004 08:40:14 GMT Resent-Message-Id: <200407020840.i628eELW035671@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-doc@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Jonathan Noack Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4344216A4CE for ; Fri, 2 Jul 2004 08:30:30 +0000 (GMT) Received: from smtp001.bizmail.yahoo.com (smtp001.bizmail.yahoo.com [216.136.172.125]) by mx1.FreeBSD.org (Postfix) with SMTP id F343543D41 for ; Fri, 2 Jul 2004 08:30:29 +0000 (GMT) (envelope-from noackjr@compgeek.noacks.org) Received: from unknown (HELO optimator.noacks.org) (noackjr@supercrime.org@70.240.179.20 with login) by smtp001.bizmail.yahoo.com with SMTP; 2 Jul 2004 08:29:31 -0000 Received: from localhost (localhost [127.0.0.1]) by optimator.noacks.org (Postfix) with ESMTP id 1A8E661DE for ; Fri, 2 Jul 2004 03:29:31 -0500 (CDT) Received: from optimator.noacks.org ([127.0.0.1]) by localhost (optimator.noacks.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 06778-06 for ; Fri, 2 Jul 2004 03:29:29 -0500 (CDT) Received: from compgeek.noacks.org (compgeek [192.168.1.10]) by optimator.noacks.org (Postfix) with ESMTP id 2ADC261D2 for ; Fri, 2 Jul 2004 03:29:29 -0500 (CDT) Received: (from noackjr@localhost) by compgeek.noacks.org (8.12.11/8.12.11/Submit) id i628TTWw002413; Fri, 2 Jul 2004 03:29:29 -0500 (CDT) (envelope-from noackjr) Message-Id: <200407020829.i628TTWw002413@compgeek.noacks.org> Date: Fri, 2 Jul 2004 03:29:29 -0500 (CDT) From: Jonathan Noack To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: docs/68595: [PATCH] add FAQ entry for lock order reversals X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Jonathan Noack List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jul 2004 08:41:33 -0000 >Number: 68595 >Category: docs >Synopsis: [PATCH] add FAQ entry for lock order reversals >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-doc >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jul 02 08:40:13 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Jonathan Noack >Release: FreeBSD 5.2-CURRENT i386 >Organization: Concordia Lutheran High School >Environment: System: FreeBSD compgeek.noacks.org 5.2-CURRENT FreeBSD 5.2-CURRENT #11: Wed Jun 30 19:53:45 CDT 2004 noackjr@compgeek.noacks.org:/usr/obj/usr/src/sys/COMPGEEK i386 >Description: Add a FAQ entry for lock order reversals. It basically just quotes a mailing list response by Robert Watson, but there is also a note pointing to the lock order reversal status page maintained by Bjoern Zeeb: http://sources.zabbadoz.net/freebsd/lor.html See recent comments in the freebsd-current archive: http://docs.freebsd.org/cgi/mid.cgi?20040701083434.GA83951 http://docs.freebsd.org/cgi/mid.cgi?20040701103535.GA84499 http://docs.freebsd.org/cgi/mid.cgi?40E3EBD2.2020106 >How-To-Repeat: N/A >Fix: See patch below. --- lor-faq.diff begins here --- Index: book.sgml =================================================================== RCS file: /home/ncvs/doc/en_US.ISO8859-1/books/faq/book.sgml,v retrieving revision 1.626 diff -u -r1.626 book.sgml --- book.sgml 1 Jul 2004 07:29:04 -0000 1.626 +++ book.sgml 1 Jul 2004 11:29:35 -0000 @@ -4379,6 +4379,51 @@ channel is numbered 0, and so on. + + + + What is a lock order reversal? + + + + &a.rwatson; answered this question very succinctly on + the freebsd-current list in a thread entitled lock + order reversals - what do they mean? + +
+ &a.rwatson; on freebsd-current, December 14, + 2003 + + These warnings are generated by Witness, a run-time lock + diagnostic system found in FreeBSD 5-CURRENT kernels (but + removed in releases). You can read more about Witness in the + &man.witness.4; man page, which talks about its capabilities. Among + other things, Witness performs run-time lock order verification + using a combination of hard coded lock orders, and run-time + detected lock orders, and generates console warnings when lock + orders are violated. The intent of this is to detect the + potential for deadlocks due to lock order violations; it's worth + observing that Witness is actually slightly conservative, and so + it's possible to get false positives. In the event that Witness + is accurately reporting a lock order problem, it's basically + saying "If you were unlucky, a deadlock would have happened + here". There are a couple of "well known" false positives, + which we need to do a better job of documenting to prevent + spurious reports. The non-well-known ones typically correspond + to bugs in newly added locking, as lock order reversals usually + get fixed pretty quickly because Witness is busy generating + warnings :-). +
+ + + See Bjoern + Zeeb's lock order reversal page for the status of + known lock order reversals. + +
+
--- lor-faq.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: