In preparation when transmission (length) selection will
be handled properly during SACK loss recovery with D43355 and
D43470, add a counter to track how frequently SACK has
transmitted more than one MSS using TSO.
This can happen under a few conceivable circumstances:
- PRR allows growth of the cwnd while the recovery episode
is not completed, using the Slow-Start Reduction Bound (SSRB)
mechanism.
- ACK thinning (GRO / LRO) or ACK losses (with SACK information)
indicate that more than MSS bytes have been received or got
lost.
While SACK may legitimately want to transmit more than one MSS
segment under these circumstance, the use of TSO will change the
transmission timing while also reducing the CPU burden doing so.
This could conceivably lead to self-infliced losses at the
congested queue. The counter is provided to correlate any
such occurances, and allow A/B testing with and without TSO
enabled during SACK loss recovery.