Author: alc
Date: Sat Oct  3 17:04:52 2015
New Revision: 288617
URL: https://svnweb.freebsd.org/changeset/base/288617

Log:
  Perform a single batched update to the object's paging-in-progress count
  rather than updating it for each page.

Modified:
  head/sys/kern/vfs_bio.c

Modified: head/sys/kern/vfs_bio.c
==============================================================================
--- head/sys/kern/vfs_bio.c     Sat Oct  3 16:37:38 2015        (r288616)
+++ head/sys/kern/vfs_bio.c     Sat Oct  3 17:04:52 2015        (r288617)
@@ -2050,11 +2050,10 @@ vfs_vmio_iodone(struct buf *bp)
                    (intmax_t)foff, (uintmax_t)m->pindex));
 
                vm_page_sunbusy(m);
-               vm_object_pip_subtract(obj, 1);
                foff = (foff + PAGE_SIZE) & ~(off_t)PAGE_MASK;
                iosize -= resid;
        }
-       vm_object_pip_wakeupn(obj, 0);
+       vm_object_pip_wakeupn(obj, bp->b_npages);
        VM_OBJECT_WUNLOCK(obj);
        if (bogus && buf_mapped(bp)) {
                BUF_CHECK_MAPPED(bp);
@@ -3923,10 +3922,9 @@ vfs_unbusy_pages(struct buf *bp)
                        } else
                                BUF_CHECK_UNMAPPED(bp);
                }
-               vm_object_pip_subtract(obj, 1);
                vm_page_sunbusy(m);
        }
-       vm_object_pip_wakeupn(obj, 0);
+       vm_object_pip_wakeupn(obj, bp->b_npages);
        VM_OBJECT_WUNLOCK(obj);
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to