Re: [RFC v2] tcp: Export TCP Delayed ACK parameters to user
From: Rick Jones <hidden>
Date: 2011-10-28 22:40:28
On 10/28/2011 03:31 PM, David Miller wrote:
From: Daniel Baluta<redacted> Date: Sat, 29 Oct 2011 00:35:24 +0300quoted
On Sat, Oct 29, 2011 at 12:19 AM, David Miller[off-list ref] wrote:quoted
From: Daniel Baluta<redacted> Date: Sat, 29 Oct 2011 00:14:03 +0300quoted
+static inline int tcp_delack_thresh(const struct sock *sk) +{ + return inet_csk(sk)->icsk_ack.rcv_mss * sysctl_tcp_delack_segs; +} +Please turn this into a shift or something, you're adding a multiply into a core code path.Is there any generic API to do this? Default case is not affected since tcp_delack_segs is 1.I'm saying make the tunable a shift count instead of something to multiply against.
That would be loads faster, but won't that have issues with granularity? It will allow 1, 2, 4, 8, 16, 32, etc segments but none of the umpteen values in between. FWIW, HP-UX defaults to 22 segments, which IIRC has its basis in how many "typical" segments could fit in a 32KB window. If the mss and the delack segs are being converted into an octet count, and multiplication or successive addition etc are too expensive, how about using an octet count directly? rick jones