git: kernel - Refactor kern_sendfile()
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Oct 31 10:49:58 PDT 2017
commit e7cb11ec46aea8b0515575369f26c95747b67d53
Author: Matthew Dillon <dillon at apollo.backplane.com>
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(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e7cb11ec46aea8b0515575369f26c95747b67d53
--
DragonFly BSD source repository
More information about the Commits
mailing list