From owner-freebsd-current Thu Jan 18 20:26: 3 2001 Delivered-To: freebsd-current@freebsd.org Received: from VL-MS-MR002.sc1.videotron.ca (relais.videotron.ca [24.201.245.36]) by hub.freebsd.org (Postfix) with ESMTP id D79BA37B400 for ; Thu, 18 Jan 2001 20:25:43 -0800 (PST) Received: from jehovah ([24.201.144.31]) by VL-MS-MR002.sc1.videotron.ca (Netscape Messaging Server 4.15) with SMTP id G7E6YQ04.YWQ for ; Thu, 18 Jan 2001 23:25:38 -0500 Message-ID: <010401c081d0$183b8b30$1f90c918@jehovah> From: "Bosko Milekic" To: Subject: Small HEADS-UP Date: Thu, 18 Jan 2001 23:27:12 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2919.6700 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hello, A few hours ago, this has been committed to -CURRENT: Commit log: [...] > Log: > Implement MTX_RECURSE flag for mtx_init(). > All calls to mtx_init() for mutexes that recurse must now include > the MTX_RECURSE bit in the flag argument variable. This change is in > preparation for an upcoming (further) mutex API cleanup. > The witness code will call panic() if a lock is found to recurse but > the MTX_RECURSE bit was not set during the lock's initialization. > > The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to > MTX_RECURSED, which is more appropriate given its meaning. > > The following locks have been made "recursive," thus far: > eventhandler, Giant, callout, sched_lock, possibly some others declared > in the architecture-specific code, all of the network card driver locks > in pci/, as well as some other locks in dev/ stuff that I've found to > be recursive. [...] This is a small HEADS-UP to let people who have WITNESS turned on that if they stumble into a panic() with a message such as: "[...] recursed on non-recursive mutex foo [...]" to take note of it and report it as soon as possible to the lists (feel free to CC me). I believe that I have covered the large majority of recursive mutexes in the patch, but it's difficult to go through all the surrounding code. So, if I happened to have missed some, it would be good to modify the required mtx_init()s immediately, before further cleanups are done. Thanks, Bosko. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message