Feature #14017
closedAdd support for TCP_QUICKACK
100%
Description
TCP_QUICKACK is a Linux setsockopt() option. When a socket is in quickack mode, it acks each TCP packet immediately rather than delaying in the hopes that it might be able to ack multiple packets at once.
Linux has had support for this option for ~20 years. While it doesn't seem to be widely used, I ran into a vendor-provided, closed-source tool that uses it. When running the tool under Illumos without enabling this mode, the increased latency caused a significant performance hit. I was able to work around the issue by using ndd to set the deferred-ack limit to 0. Using a per-socket mechanism rather than system-wide will reduce overall chattiness, allowing the system to remain a good network citizen.
Updated by Nils Nieuwejaar 6 months ago
I verified the new functionality by running the Linux-ported application that
required it. The binary-only server code is running on Linux, the client-side
code builds and runs on Illumos, and the two are working well together. I have
also been running with the changes on my main server / build / test system for
7+ months.
Updated by Electric Monk 6 months ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 861fa1490335b8e3cc91a1efafd8b9e481813931
commit 861fa1490335b8e3cc91a1efafd8b9e481813931 Author: Nils Nieuwejaar <nils@oxidecomputer.com> Date: 2022-01-10T15:24:25.000Z 14017 Add support for TCP_QUICKACK Reviewed by: Joshua M. Clulow <josh@sysmgr.org> Reviewed by: Andy Fiddaman <andy@omnios.org> Approved by: Dan McDonald <danmcd@joyent.com>