Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 2015 14:24:48 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r280136 - head/sys/vm
Message-ID:  <201503161424.t2GEOm0D041812@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503161424.t2GEOm0D041812>