diff options
| author | Oleg Nesterov <oleg@tv-sign.ru> | 2004-12-27 05:25:02 -0800 |
|---|---|---|
| committer | Thomas Graf <tgraf@suug.ch> | 2004-12-27 05:25:02 -0800 |
| commit | 7ce0e70b83543e37bb39b136b1743d3bb06eef60 (patch) | |
| tree | 226a081c2665925aaedd5f5853cc204397e2bf83 /include/linux | |
| parent | 71ba6a35eaa19c452f574e9e59de096b752505d3 (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.h | 6 |
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, |
