On 9/12/06, Daniele Lacamera <[EMAIL PROTECTED]> wrote:
Hello,
Please let me insist once again on the importance of adding a TCP Pacing
mechanism in our TCP, as many people are including this algorithm in
their congestion control proposals. Recent researches have found out
that it really can help improving performance in different scenarios,
like satellites and long-delay high-speed channels (>100ms RTT, Gbit).
Hybla module itself is cripple without this feature in its natural
scenario.
The following patch is totally non-invasive: it has a config option and
a sysctl switch, both turned off by default. When the config option is
enabled, it adds only 6B to the tcp_sock.
Signed-off by: Daniele Lacamera <[EMAIL PROTECTED]>
---
diff -ruN linux-2.6.18-rc6/net/ipv4/tcp_input.c
linux-pacing/net/ipv4/tcp_input.c
--- linux-2.6.18-rc6/net/ipv4/tcp_input.c 2006-09-04 04:19:48.000000000
+0200
+++ linux-pacing/net/ipv4/tcp_input.c 2006-09-12 17:11:38.000000000 +0200
@@ -2569,6 +2569,11 @@
tcp_cong_avoid(sk, ack, seq_rtt, prior_in_flight, 1);
}
Without getting into the merits of the pacing technique:
+#ifdef CONFIG_TCP_PACING
+ if(sysctl_tcp_pacing)
+ tcp_pacing_recalc_delta(sk);
+#endif
Please rewrite the patch so as to avoid adding that many #ifdefs to
the common code, replacing above code with:
tcp_pacing_recalc_delta(sk);
That is defined in a header (net/tcp.h) as:
#ifdef CONFIG_TCP_PACING
extern void __tcp_pacing_recalc_delta(struct sock *sk);
extern int sysctl_tcp_pacing;
static inline void tcp_pacing_recalc_delta(struct sock *sk)
{
if (sysctl_tcp_pacing) /* notice the space after ( */
__tcp_pacing_recalc_delta(sk);
}
#else
static inline void tcp_pacing_recalc_delta(struct sock *sk) {};
#endif
Thanks,
- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html