summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2016-08-25 14:13:19 +0000
committerbluhm <bluhm@openbsd.org>2016-08-25 14:13:19 +0000
commit1c3052b558828d42be01abfa06eb39d0c7586dff (patch)
tree6fbda5ca9c4501840f7454e99365eedc9106a300 /lib/libc
parentCompletely revert the M_WAIT change on the cluster allocation and (diff)
downloadwireguard-openbsd-1c3052b558828d42be01abfa06eb39d0c7586dff.tar.xz
wireguard-openbsd-1c3052b558828d42be01abfa06eb39d0c7586dff.zip
Spliced TCP sockets become faster when the output part is running
as its own task thread. This is inspired by userland copy where a process also has to go through the scheduler. This gives the socket buffer a chance to be filled up and tcp_output() is called less often and with bigger chunks. When two kernel tasks share all the workload, the current scheduler implementation will hang userland processes on single cpu machines. As a workaround put a yield() into the splicing thread after each task execution. This reduces the number of calls of tcp_output() even more. OK tedu@ mpi@
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions