summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2004-12-27 05:25:02 -0800
committerThomas Graf <tgraf@suug.ch>2004-12-27 05:25:02 -0800
commit7ce0e70b83543e37bb39b136b1743d3bb06eef60 (patch)
tree226a081c2665925aaedd5f5853cc204397e2bf83 /include/linux
parent71ba6a35eaa19c452f574e9e59de096b752505d3 (diff)
[NET]: Use prefetching in skb_queue_walk().
This patch changes skb_queue_walk() in the same manner as in list_for_each() prefetch optimization, see http://marc.theaimsgroup.com/?l=linux-kernel&m=110399132418587 Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/skbuff.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 57a2843faa21..b1d0c472d19c 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1077,9 +1077,9 @@ static inline void kunmap_skb_frag(void *vaddr)
}
#define skb_queue_walk(queue, skb) \
- for (skb = (queue)->next, prefetch(skb->next); \
- (skb != (struct sk_buff *)(queue)); \
- skb = skb->next, prefetch(skb->next))
+ for (skb = (queue)->next; \
+ prefetch(skb->next), (skb != (struct sk_buff *)(queue)); \
+ skb = skb->next)
extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,