Provide a comment explaining r279688.

Suggested by:	alc
This commit is contained in:
Gleb Smirnoff 2015-03-16 14:24:47 +00:00
parent c077e6287f
commit 41c895a888

View File

@ -772,6 +772,14 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int bytecount,
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);