Author: glebius
Date: Mon Mar 16 14:24:47 2015
New Revision: 280136
URL: https://svnweb.freebsd.org/changeset/base/280136

Log:
  Provide a comment explaining r279688.
  
  Suggested by: alc

Modified:
  head/sys/vm/vnode_pager.c

Modified: head/sys/vm/vnode_pager.c
==============================================================================
--- head/sys/vm/vnode_pager.c   Mon Mar 16 14:12:41 2015        (r280135)
+++ head/sys/vm/vnode_pager.c   Mon Mar 16 14:24:47 2015        (r280136)
@@ -772,6 +772,14 @@ vnode_pager_generic_getpages(struct vnod
        bsize = vp->v_mount->mnt_stat.f_iosize;
        foff = IDX_TO_OFF(m[reqpage]->pindex);
 
+       /*
+        * Synchronous and asynchronous paging operations use different
+        * free pbuf counters.  This is done to avoid asynchronous requests
+        * to consume all pbufs.
+        * Allocate the pbuf at the very beginning of the function, so that
+        * if we are low on certain kind of pbufs don't even proceed to BMAP,
+        * but sleep.
+        */
        freecnt = iodone != NULL ?
            &vnode_async_pbuf_freecnt : &vnode_pbuf_freecnt;
        bp = getpbuf(freecnt);
_______________________________________________
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