diff --git a/net/sched/sch_fq.c b/net/sched/sch_fq.c index 567df8fcaf703e69ea6b1adaa114740239c9d30b..4f0104243cc236e3626f2b527dbab90d408e6c40 100644 --- a/net/sched/sch_fq.c +++ b/net/sched/sch_fq.c @@ -546,6 +546,7 @@ static struct sk_buff *fq_dequeue(struct Qdisc *sch) fq_flow_set_throttled(q, f); goto begin; } + prefetch(&skb->end); if ((s64)(now - time_next_packet - q->ce_threshold) > 0) { INET_ECN_set_ce(skb); q->stat_ce_mark++; @@ -562,7 +563,6 @@ static struct sk_buff *fq_dequeue(struct Qdisc *sch) } goto begin; } - prefetch(&skb->end); plen = qdisc_pkt_len(skb); f->credit -= plen;