From owner-cvs-all Fri Dec 27 10:45:25 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2531137B405 for ; Fri, 27 Dec 2002 10:45:24 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id D2A7243ED1 for ; Fri, 27 Dec 2002 10:45:19 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 78847 invoked by uid 1000); 27 Dec 2002 18:45:15 -0000 Date: Fri, 27 Dec 2002 10:45:15 -0800 (PST) From: Nate Lawson To: Alan Cox Cc: cvs-all@freebsd.org, cvs-committers@freebsd.org Subject: Re: cvs commit: src/sys/nfsclient nfs_vnops.c In-Reply-To: <20021223062045.CC59237B48B@hub.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Sun, 22 Dec 2002, Alan Cox wrote: > Modified files: > sys/nfsclient nfs_vnops.c > Log: > Avoid holding the vnode interlock around malloc() or free() to prevent a > lock order reversal. > > Reviewed by: jeff > > Revision Changes Path > 1.190 +8 -2 src/sys/nfsclient/nfs_vnops.c Shouldn't it be ok to hold it over free() (or malloc(..., M_NOWAIT) for that matter) once Giant is removed from kmem*? What is the recommended way to deal with LOR or other lock issues to mark them as being unnecessary once another subsystem is cleaned up? /* XXX ok once Giant removed from xxx_routine() */ My concern is that it will be necessary to make a pass through every piece of code that may have had locking workarounds each time a major subsystem (malloc, proc, signals, dev_t) steps out from Giant. This is n^2. -Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message