Skip to content

Commit

Permalink
Remove prefetch() from <linux/skbuff.h> and "netlabel_addrlist.h"
Browse files Browse the repository at this point in the history
Commit e66eed6 ("list: remove prefetching from regular list
iterators") removed the include of prefetch.h from list.h.  The skbuff
list traversal still had them.

Quoth David Miller:
  "Please just remove the prefetches.

  Those are modelled after list.h as I intend to eventually convert
  SKB list handling to "struct list_head" but we're not there yet.

  Therefore if we kill prefetches from list.h we should kill it from
  these things in skbuff.h too."

Requested-by: David Miller <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
torvalds committed May 23, 2011
1 parent 70c7160 commit a1e4891
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
7 changes: 3 additions & 4 deletions include/linux/skbuff.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#include <net/checksum.h>
#include <linux/rcupdate.h>
#include <linux/dmaengine.h>
#include <linux/prefetch.h>
#include <linux/hrtimer.h>

/* Don't change this without changing skb_csum_unnecessary! */
Expand Down Expand Up @@ -1783,7 +1782,7 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)

#define skb_queue_walk(queue, skb) \
for (skb = (queue)->next; \
prefetch(skb->next), (skb != (struct sk_buff *)(queue)); \
skb != (struct sk_buff *)(queue); \
skb = skb->next)

#define skb_queue_walk_safe(queue, skb, tmp) \
Expand All @@ -1792,7 +1791,7 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)
skb = tmp, tmp = skb->next)

#define skb_queue_walk_from(queue, skb) \
for (; prefetch(skb->next), (skb != (struct sk_buff *)(queue)); \
for (; skb != (struct sk_buff *)(queue); \
skb = skb->next)

#define skb_queue_walk_from_safe(queue, skb, tmp) \
Expand All @@ -1802,7 +1801,7 @@ static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len)

#define skb_queue_reverse_walk(queue, skb) \
for (skb = (queue)->prev; \
prefetch(skb->prev), (skb != (struct sk_buff *)(queue)); \
skb != (struct sk_buff *)(queue); \
skb = skb->prev)

#define skb_queue_reverse_walk_safe(queue, skb, tmp) \
Expand Down
8 changes: 4 additions & 4 deletions net/netlabel/netlabel_addrlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,12 @@ static inline struct netlbl_af4list *__af4list_valid_rcu(struct list_head *s,

#define netlbl_af4list_foreach(iter, head) \
for (iter = __af4list_valid((head)->next, head); \
prefetch(iter->list.next), &iter->list != (head); \
&iter->list != (head); \
iter = __af4list_valid(iter->list.next, head))

#define netlbl_af4list_foreach_rcu(iter, head) \
for (iter = __af4list_valid_rcu((head)->next, head); \
prefetch(iter->list.next), &iter->list != (head); \
&iter->list != (head); \
iter = __af4list_valid_rcu(iter->list.next, head))

#define netlbl_af4list_foreach_safe(iter, tmp, head) \
Expand Down Expand Up @@ -163,12 +163,12 @@ static inline struct netlbl_af6list *__af6list_valid_rcu(struct list_head *s,

#define netlbl_af6list_foreach(iter, head) \
for (iter = __af6list_valid((head)->next, head); \
prefetch(iter->list.next), &iter->list != (head); \
&iter->list != (head); \
iter = __af6list_valid(iter->list.next, head))

#define netlbl_af6list_foreach_rcu(iter, head) \
for (iter = __af6list_valid_rcu((head)->next, head); \
prefetch(iter->list.next), &iter->list != (head); \
&iter->list != (head); \
iter = __af6list_valid_rcu(iter->list.next, head))

#define netlbl_af6list_foreach_safe(iter, tmp, head) \
Expand Down

0 comments on commit a1e4891

Please sign in to comment.