From owner-p4-projects Thu Jan 16 12:41:46 2003 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2954D37B405; Thu, 16 Jan 2003 12:41:44 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B3ECA37B401 for ; Thu, 16 Jan 2003 12:41:43 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F17143F13 for ; Thu, 16 Jan 2003 12:41:43 -0800 (PST) (envelope-from green@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h0GKfhfh051213 for ; Thu, 16 Jan 2003 12:41:43 -0800 (PST) (envelope-from green@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h0GKfg2N051210 for perforce@freebsd.org; Thu, 16 Jan 2003 12:41:42 -0800 (PST) Date: Thu, 16 Jan 2003 12:41:42 -0800 (PST) Message-Id: <200301162041.h0GKfg2N051210@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to green@freebsd.org using -f From: Brian Feldman Subject: PERFORCE change 23801 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://perforce.freebsd.org/chv.cgi?CH=23801 Change 23801 by green@green_laptop_2 on 2003/01/16 12:41:30 Hardcode some SEBSD locks, which removes the warnings... Also, implement ddb.witness_backtrace to print backtraces along with all witness messages. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/kern/subr_witness.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/kern/subr_witness.c#2 (text+ko) ==== @@ -170,6 +170,11 @@ #endif TUNABLE_INT("debug.witness_ddb", &witness_ddb); SYSCTL_INT(_debug, OID_AUTO, witness_ddb, CTLFLAG_RW, &witness_ddb, 0, ""); + +int witness_backtrace = 0; +TUNABLE_INT("debug.witness_backtrace", &witness_backtrace); +SYSCTL_INT(_debug, OID_AUTO, witness_backtrace, CTLFLAG_RW, &witness_backtrace, + 0, "Print a backtrace to the console along with the lock order violation itself."); #endif /* DDB */ #ifdef WITNESS_SKIPSPIN @@ -204,6 +209,8 @@ { "session", &lock_class_mtx_sleep }, { "uidinfo hash", &lock_class_mtx_sleep }, { "uidinfo struct", &lock_class_mtx_sleep }, + { "SEBSD AVC", &lock_class_mtx_sleep }, + { "SEBSD Policy Lock", &lock_class_sx }, { NULL, NULL }, /* * spin locks @@ -711,8 +718,12 @@ out: #ifdef DDB - if (witness_ddb && go_into_ddb) - Debugger(__func__); + if (go_into_ddb) { + if (witness_ddb) + Debugger(__func__); + else if (witness_backtrace) + db_print_backtrace(); + } #endif /* DDB */ w->w_file = file; w->w_line = line; @@ -938,8 +949,12 @@ goto again; } #ifdef DDB - if (witness_ddb && n) - Debugger(__func__); + if (n) { + if (witness_ddb) + Debugger(__func__); + else if (witness_backtrace) + db_print_backtrace(); + } #endif /* DDB */ return (n); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message