Author: attilio
Date: Wed Dec 26 15:20:32 2012
New Revision: 244706
URL: http://svnweb.freebsd.org/changeset/base/244706

Log:
  Fixup r244240: mp_ncpus will be 1 also in the !SMP and smp_disabled=1
  case. There is no point in optimizing further the code and use a TRUE
  litteral for a path that does heavyweight stuff anyway (like lock acq),
  at the price of obfuscated code.
  
  Use the appropriate check where necessary and remove a macro.
  
  Sponsored by: EMC / Isilon storage division
  MFC after:    3 days

Modified:
  head/sys/kern/vfs_subr.c

Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c    Wed Dec 26 15:13:21 2012        (r244705)
+++ head/sys/kern/vfs_subr.c    Wed Dec 26 15:20:32 2012        (r244706)
@@ -4724,12 +4724,6 @@ mnt_vnode_markerfree_active(struct vnode
        *mvp = NULL;
 }
 
-#ifdef SMP
-#define        ALWAYS_YIELD    (mp_ncpus == 1)
-#else
-#define        ALWAYS_YIELD    1
-#endif
-
 static struct vnode *
 mnt_vnode_next_active(struct vnode **mvp, struct mount *mp)
 {
@@ -4746,7 +4740,7 @@ restart:
                        continue;
                }
                if (!VI_TRYLOCK(vp)) {
-                       if (ALWAYS_YIELD || should_yield()) {
+                       if (mp_ncpus == 1 || should_yield()) {
                                TAILQ_INSERT_BEFORE(vp, *mvp, v_actfreelist);
                                mtx_unlock(&vnode_free_list_mtx);
                                kern_yield(PRI_USER);
@@ -4777,7 +4771,6 @@ restart:
        KASSERT((vp->v_iflag & VI_ACTIVE) != 0, ("Non-active vp %p", vp));
        return (vp);
 }
-#undef ALWAYS_YIELD
 
 struct vnode *
 __mnt_vnode_next_active(struct vnode **mvp, struct mount *mp)
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to