git: kernel - Refactor kern_sendfile()

Matthew Dillon dillon at
Tue Oct 31 10:49:58 PDT 2017

commit e7cb11ec46aea8b0515575369f26c95747b67d53
Author: Matthew Dillon <dillon at>
Date:   Fri Oct 20 12:01:43 2017 -0700

    kernel - Refactor kern_sendfile()
    * Refactor kern_sendfile() to greatly improve performance.
    * Use vm_page_lookup_sbusy_try() exclusively to acquire VM pages
      to assign to the mbufs.
    * Instead of holding pages in a fancy manner, just issue the
      UIO_NOCOPY / VMIO VOP_READ() in the blind and loop up.
    * The VOP_READ() is still synchronous.  It is really unclear
      whether asynchronizing VOP_READ() via the pagerops would
      really improve performance verses simply implementing a
      limited number of connections per worker.  At least in
      localhost tests, we seem to be hitting a hardware memory
      bottleneck long before we hit a cpu bottleneck.

Summary of changes:
 sys/kern/uipc_syscalls.c | 145 ++++++++++++++++-------------------------------
 1 file changed, 48 insertions(+), 97 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list