diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2005-11-10 17:14:59 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-11-10 17:14:59 -0800 |
commit | 6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec (patch) | |
tree | 09775f0479168cd53494155a5789e78df218b497 /include/net/sock.h | |
parent | caa20d9abe810be2ede9612b6c9db6ce7d6edf80 (diff) | |
download | linux-stable-6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec.tar.gz linux-stable-6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec.tar.bz2 linux-stable-6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec.zip |
[TCP]: speed up SACK processing
Use "hints" to speed up the SACK processing. Various forms
of this have been used by TCP developers (Web100, STCP, BIC)
to avoid the 2x linear search of outstanding segments.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sock.h')
-rw-r--r-- | include/net/sock.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index ff13c4cc287a..982b4ecd187b 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -1247,6 +1247,12 @@ static inline struct page *sk_stream_alloc_page(struct sock *sk) (skb != (struct sk_buff *)&(sk)->sk_write_queue); \ skb = skb->next) +/*from STCP for fast SACK Process*/ +#define sk_stream_for_retrans_queue_from(skb, sk) \ + for (; (skb != (sk)->sk_send_head) && \ + (skb != (struct sk_buff *)&(sk)->sk_write_queue); \ + skb = skb->next) + /* * Default write policy as shown to user space via poll/select/SIGIO */ |