diff options
| author | babenko <[email protected]> | 2026-06-13 10:11:20 +0300 |
|---|---|---|
| committer | babenko <[email protected]> | 2026-06-13 10:31:02 +0300 |
| commit | 9f54a83ed3c73de6ef3736e7959495675079e2b0 (patch) | |
| tree | 30847db5fee7637cdde6086a9d313b7d4d94b584 /contrib/python/python-dateutil/py2/tests/test_parser.py | |
| parent | 27a12e8aa39050c21b94064ed09237f157f7f970 (diff) | |
Re-arm TCP_QUICKACK once per read batch in bus connection
TCP_QUICKACK is a one-shot option that the kernel clears after each ACK.
`ReadSocket` re-armed it on every call, but `OnSocketRead` invokes `ReadSocket`
in a loop, draining the socket in `ReadBufferSize`/`MaxBatchReadSize` chunks — so
a single readable event issued one `setsockopt` syscall per chunk even though
all those reads produce at most one ACK. Move the re-arm to once per
`OnSocketRead` batch, gated on having read something; behavior is unchanged (the
ACK for the just-received data is still armed after the socket is drained).
Found while profiling `BusXferFS` threads on an RPC proxy: the per-chunk
`setsockopt` showed up in the read path. Minor on its own (~0.3% there), but a
clean cleanup.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
commit_hash:8a26370d548994ae3ab008f5d901df2e51bfff6d
Diffstat (limited to 'contrib/python/python-dateutil/py2/tests/test_parser.py')
0 files changed, 0 insertions, 0 deletions
