diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2016-08-25 14:13:20 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2016-08-25 14:13:20 +0000 |
commit | a346b849f2acbb48c10203422140872e224a5e14 (patch) | |
tree | 380190b5cbf4336068d7fad4f26b731666af2fff /bin | |
parent | f12dd97e1a97a5dcad3c406c981408fd0b718dde (diff) |
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 'bin')
0 files changed, 0 insertions, 0 deletions