From owner-cvs-all Wed Sep 26 13:26:31 2001 Delivered-To: cvs-all@freebsd.org Received: from mail.wrs.com (unknown-1-11.windriver.com [147.11.1.11]) by hub.freebsd.org (Postfix) with ESMTP id 51E1B37B416; Wed, 26 Sep 2001 13:26:17 -0700 (PDT) Received: from laptop.baldwin.cx ([147.11.46.209]) by mail.wrs.com (8.9.3/8.9.1) with ESMTP id NAA28019; Wed, 26 Sep 2001 13:26:02 -0700 (PDT) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20010927054324.Q40707-100000@delplex.bde.org> Date: Wed, 26 Sep 2001 13:25:47 -0700 (PDT) From: John Baldwin To: Bruce Evans Subject: RE: cvs commit: src/sys/sys _lock.h lock.h Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 26-Sep-01 Bruce Evans wrote: > On Wed, 26 Sep 2001, John Baldwin wrote: > >> On 25-Sep-01 John Baldwin wrote: >> > jhb 2001/09/25 16:51:54 PDT >> > >> > Modified files: >> > sys/sys _lock.h lock.h >> > Log: >> > Move the definition of LOCK_DEBUG from sys/lock.h to sys/_lock.h. >> >> This fixes the panic on the vnode interlock. The problem is that >> vfs_vnops.c >> wasn't including sys/lock.h, so LOCK_DEBUG wasn't defined, so it wasn't >> getting >> LOCK_DEBUG defined properly and was just inling the mutex operation and not >> calling witness. Arguably, I should cause the compile to break when mutex.h >> is >> included w/o lock.h, but this will work for now. Also, getting LOCK_DEBUG >> right really depends on knowing the value of KTR_COMPILE which requires >> including sys/ktr.h, so in theory sys/_lock.h should either include >> sys/ktr.h >> or mandate it's inculsion in the _KERNEL case. Bruce, do you have any >> preferences on this? > > Including in would defeat the point of having > . Try to make things break if LOCK_DEBUG is used and the > prerequisites for getting it right are not included. Ok. Would it be ok to include sys/ktr.h in mutex.h, sema.h, and sx.h? Everything else that LOCK_DEBUG depends on is in opt_global.h. If I just removed the KTR_COMPILE & KTR_LOCK test and slightly pessimized the case of using KTR w/o KTR_LOCK and w/o WITNESS or INVARIANTS then LOCK_DEBUG wouldn't depend on sys/ktr.h anymore. Perhaps I will just do that. > Bruce -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message