diff options
| author | Yumei Huang <yuhuang@redhat.com> | 2026-03-20 18:32:14 +0800 |
|---|---|---|
| committer | Stefano Brivio <sbrivio@redhat.com> | 2026-04-20 23:20:41 +0200 |
| commit | 831857e9b547ac27f868b6c24049c4da435b63fe (patch) | |
| tree | a2d8ff8d027d75a86cf2d06178802715a0214a61 /test/lib | |
| parent | ea5a4bb0f2c6a869919e5105b98a45c62cfd70e6 (diff) | |
| download | passt-831857e9b547ac27f868b6c24049c4da435b63fe.tar passt-831857e9b547ac27f868b6c24049c4da435b63fe.tar.gz passt-831857e9b547ac27f868b6c24049c4da435b63fe.tar.bz2 passt-831857e9b547ac27f868b6c24049c4da435b63fe.tar.lz passt-831857e9b547ac27f868b6c24049c4da435b63fe.tar.xz passt-831857e9b547ac27f868b6c24049c4da435b63fe.tar.zst passt-831857e9b547ac27f868b6c24049c4da435b63fe.zip | |
tcp: Replace send buffer boost with EPOLLOUT monitoring
Currently we use the SNDBUF boost mechanism to force TCP auto-tuning.
However, it doesn't always work, and sometimes causes a lot of
retransmissions. As a result, the throughput suffers.
This patch replaces it with monitoring EPOLLOUT when sendmsg() failure
(with EAGAIN and EWOULDBLOCK) and partial sends occur.
Tested with iperf3 inside pasta: throughput is now comparable to running
iperf3 directly on the host without pasta. However, retransmissions can
still be elevated when RTT >= 50ms. For example, when RTT is between
200ms and 500ms, retransmission count varies from 30 to 120 in roughly
80% of test runs.
Link: https://bugs.passt.top/show_bug.cgi?id=138
Link: https://github.com/containers/podman/issues/28219
Suggested-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Yumei Huang <yuhuang@redhat.com>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'test/lib')
0 files changed, 0 insertions, 0 deletions
