net: sched: run ingress qdisc without locks
[deliverable/linux.git] / net / sched / sch_ingress.c
index 4cdbfb85686a7ee55d71d0a7c1ea5cdd7e789a22..a89cc3278bfb4b045955c71a2a98d97c647a0725 100644 (file)
@@ -65,11 +65,11 @@ static int ingress_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 
        result = tc_classify(skb, fl, &res);
 
-       qdisc_bstats_update(sch, skb);
+       qdisc_bstats_update_cpu(sch, skb);
        switch (result) {
        case TC_ACT_SHOT:
                result = TC_ACT_SHOT;
-               qdisc_qstats_drop(sch);
+               qdisc_qstats_drop_cpu(sch);
                break;
        case TC_ACT_STOLEN:
        case TC_ACT_QUEUED:
@@ -91,6 +91,7 @@ static int ingress_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 static int ingress_init(struct Qdisc *sch, struct nlattr *opt)
 {
        net_inc_ingress_queue();
+       sch->flags |= TCQ_F_CPUSTATS;
 
        return 0;
 }
This page took 0.034995 seconds and 5 git commands to generate.