|
@@ -122,7 +122,6 @@ struct hfsc_class
|
|
|
struct gnet_stats_basic bstats;
|
|
|
struct gnet_stats_queue qstats;
|
|
|
struct gnet_stats_rate_est rate_est;
|
|
|
- spinlock_t *stats_lock;
|
|
|
unsigned int level; /* class level in hierarchy */
|
|
|
struct tcf_proto *filter_list; /* filter list */
|
|
|
unsigned int filter_cnt; /* filter count */
|
|
@@ -1056,7 +1055,8 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
|
|
|
|
|
|
if (tca[TCA_RATE-1])
|
|
|
gen_replace_estimator(&cl->bstats, &cl->rate_est,
|
|
|
- cl->stats_lock, tca[TCA_RATE-1]);
|
|
|
+ &sch->dev->queue_lock,
|
|
|
+ tca[TCA_RATE-1]);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -1096,7 +1096,6 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
|
|
|
cl->qdisc = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops, classid);
|
|
|
if (cl->qdisc == NULL)
|
|
|
cl->qdisc = &noop_qdisc;
|
|
|
- cl->stats_lock = &sch->dev->queue_lock;
|
|
|
INIT_LIST_HEAD(&cl->children);
|
|
|
cl->vt_tree = RB_ROOT;
|
|
|
cl->cf_tree = RB_ROOT;
|
|
@@ -1112,7 +1111,7 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
|
|
|
|
|
|
if (tca[TCA_RATE-1])
|
|
|
gen_new_estimator(&cl->bstats, &cl->rate_est,
|
|
|
- cl->stats_lock, tca[TCA_RATE-1]);
|
|
|
+ &sch->dev->queue_lock, tca[TCA_RATE-1]);
|
|
|
*arg = (unsigned long)cl;
|
|
|
return 0;
|
|
|
}
|
|
@@ -1440,8 +1439,6 @@ hfsc_init_qdisc(struct Qdisc *sch, struct rtattr *opt)
|
|
|
return -EINVAL;
|
|
|
qopt = RTA_DATA(opt);
|
|
|
|
|
|
- sch->stats_lock = &sch->dev->queue_lock;
|
|
|
-
|
|
|
q->defcls = qopt->defcls;
|
|
|
for (i = 0; i < HFSC_HSIZE; i++)
|
|
|
INIT_LIST_HEAD(&q->clhash[i]);
|
|
@@ -1456,7 +1453,6 @@ hfsc_init_qdisc(struct Qdisc *sch, struct rtattr *opt)
|
|
|
sch->handle);
|
|
|
if (q->root.qdisc == NULL)
|
|
|
q->root.qdisc = &noop_qdisc;
|
|
|
- q->root.stats_lock = &sch->dev->queue_lock;
|
|
|
INIT_LIST_HEAD(&q->root.children);
|
|
|
q->root.vt_tree = RB_ROOT;
|
|
|
q->root.cf_tree = RB_ROOT;
|