summaryrefslogtreecommitdiffstats
path: root/include/net/sock.h
diff options
context:
space:
mode:
authorStephen Hemminger2005-11-11 02:14:59 +0100
committerDavid S. Miller2005-11-11 02:14:59 +0100
commit6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec (patch)
tree09775f0479168cd53494155a5789e78df218b497 /include/net/sock.h
parent[TCP]: spelling fixes (diff)
downloadkernel-qcow2-linux-6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec.tar.gz
kernel-qcow2-linux-6a438bbe68c7013a42d9c5aee5a40d7dafdbe6ec.tar.xz
kernel-qcow2-linux-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.h6
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
*/