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);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to