rstone@ is seeing issues with the callout wheel implementation with low RTO (200usec). Backend connections are scheduling and canceling too quickly for the system to keep up. One issue is that the callout system does not have a priority queue. There are concerns about a non O(1) implementation with lots of connections and a priority queue is not O(1). There have been a few discussions of this topic by jtl@, gallatin@, rrs@, and hiren@. If you assume an RSS world, you can pin all the operations for a TCP session to a particular core. At that point you could have a per-CPU pacer instead of a shared callout wheel. (See notes
here.) It is also possible that there are issues in the callout system relating to hash collisions in the callout system but this has not been verified.