OSDN Git Service

pkt_sched: fq: prefetch() fix
authorEric Dumazet <edumazet@google.com>
Fri, 30 Aug 2013 16:46:43 +0000 (09:46 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Aug 2013 18:51:59 +0000 (14:51 -0400)
kbuild bot reported following m68k build error :

  net/sched/sch_fq.c: In function 'fq_dequeue':
>> net/sched/sch_fq.c:491:2: error: implicit declaration of function
'prefetch' [-Werror=implicit-function-declaration]
   cc1: some warnings being treated as errors

While we are fixing this, move this prefetch() call a bit earlier.

Reported-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_fq.c

index 91ceca7..32ad015 100644 (file)
@@ -46,6 +46,7 @@
 #include <linux/slab.h>
 #include <linux/rbtree.h>
 #include <linux/hash.h>
+#include <linux/prefetch.h>
 #include <net/netlink.h>
 #include <net/pkt_sched.h>
 #include <net/sock.h>
@@ -461,6 +462,7 @@ begin:
                }
                goto begin;
        }
+       prefetch(&skb->end);
        f->time_next_packet = now;
        f->credit -= qdisc_pkt_len(skb);
 
@@ -488,7 +490,6 @@ begin:
                }
        }
 out:
-       prefetch(&skb->end);
        sch->qstats.backlog -= qdisc_pkt_len(skb);
        qdisc_bstats_update(sch, skb);
        sch->q.qlen--;