Author: kib
Date: Mon Jun  3 17:36:43 2013
New Revision: 251322
URL: http://svnweb.freebsd.org/changeset/base/251322

Log:
  Be more generous when donating the current thread time to the owner of
  the vnode lock while iterating over the free vnode list.  Instead of
  yielding, pause for 1 tick.  The change is reported to help in some
  virtualized environments.
  
  Submitted by: Roger Pau Monn? <roger....@citrix.com>
  Discussed with:       jilles
  Tested by:    pho
  MFC after:    2 weeks

Modified:
  head/sys/kern/vfs_subr.c

Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c    Mon Jun  3 17:36:26 2013        (r251321)
+++ head/sys/kern/vfs_subr.c    Mon Jun  3 17:36:43 2013        (r251322)
@@ -4693,7 +4693,7 @@ restart:
                        if (mp_ncpus == 1 || should_yield()) {
                                TAILQ_INSERT_BEFORE(vp, *mvp, v_actfreelist);
                                mtx_unlock(&vnode_free_list_mtx);
-                               kern_yield(PRI_USER);
+                               pause("vnacti", 1);
                                mtx_lock(&vnode_free_list_mtx);
                                goto restart;
                        }
_______________________________________________
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