Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Mar 2009 11:43:02 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r189788 - head/sys/kern
Message-ID:  <200903141143.n2EBh29M092281@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jeff
Date: Sat Mar 14 11:43:02 2009
New Revision: 189788
URL: http://svn.freebsd.org/changeset/base/189788

Log:
   - Call lock_profile_release when we're transitioning a lock to be owned by
     LK_KERNPROC.
  
  Discussed with:		attilio

Modified:
  head/sys/kern/kern_lock.c

Modified: head/sys/kern/kern_lock.c
==============================================================================
--- head/sys/kern/kern_lock.c	Sat Mar 14 11:41:36 2009	(r189787)
+++ head/sys/kern/kern_lock.c	Sat Mar 14 11:43:02 2009	(r189788)
@@ -686,7 +686,8 @@ __lockmgr_args(struct lock *lk, u_int fl
 				lk->lk_recurse--;
 				break;
 			}
-			lock_profile_release_lock(&lk->lock_object);
+			if (tid != LK_KERNPROC)
+				lock_profile_release_lock(&lk->lock_object);
 
 			if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid,
 			    LK_UNLOCKED))
@@ -874,6 +875,7 @@ _lockmgr_disown(struct lock *lk, const c
 	 */
 	if (LK_HOLDER(lk->lk_lock) != tid)
 		return;
+	lock_profile_release_lock(&lk->lock_object);
 	LOCK_LOG_LOCK("XDISOWN", &lk->lock_object, 0, 0, file, line);
 	WITNESS_UNLOCK(&lk->lock_object, LOP_EXCLUSIVE, file, line);
 	TD_LOCKS_DEC(curthread);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903141143.n2EBh29M092281>