svn commit: r189788 - head/sys/kern

[ Available lists | Index of svn-src-all | Month of Mar 2009 | Week of 14 Mar 2009 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Jeff Roberson <jeff@FreeBSD.org>
Date
14 Mar 2009 11:43:02
Subject
svn commit: r189788 - head/sys/kern
Message-ID
200903141143.n2EBh29M092281@svn.freebsd.org


[ Hide this part ]
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);


Elapsed time: 0.094 seconds