diff options
Diffstat (limited to 'net/sched/act_api.c')
-rw-r--r-- | net/sched/act_api.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/net/sched/act_api.c b/net/sched/act_api.c index 711dd26c95c3..feef366cad5d 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c | |||
@@ -11,23 +11,13 @@ | |||
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <asm/uaccess.h> | ||
15 | #include <asm/system.h> | ||
16 | #include <linux/bitops.h> | ||
17 | #include <linux/types.h> | 14 | #include <linux/types.h> |
18 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
19 | #include <linux/string.h> | 16 | #include <linux/string.h> |
20 | #include <linux/mm.h> | ||
21 | #include <linux/socket.h> | ||
22 | #include <linux/sockios.h> | ||
23 | #include <linux/in.h> | ||
24 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
25 | #include <linux/interrupt.h> | ||
26 | #include <linux/netdevice.h> | ||
27 | #include <linux/skbuff.h> | 18 | #include <linux/skbuff.h> |
28 | #include <linux/init.h> | 19 | #include <linux/init.h> |
29 | #include <linux/kmod.h> | 20 | #include <linux/kmod.h> |
30 | #include <net/sock.h> | ||
31 | #include <net/sch_generic.h> | 21 | #include <net/sch_generic.h> |
32 | #include <net/act_api.h> | 22 | #include <net/act_api.h> |
33 | #include <net/netlink.h> | 23 | #include <net/netlink.h> |
@@ -42,10 +32,8 @@ void tcf_hash_destroy(struct tcf_common *p, struct tcf_hashinfo *hinfo) | |||
42 | write_lock_bh(hinfo->lock); | 32 | write_lock_bh(hinfo->lock); |
43 | *p1p = p->tcfc_next; | 33 | *p1p = p->tcfc_next; |
44 | write_unlock_bh(hinfo->lock); | 34 | write_unlock_bh(hinfo->lock); |
45 | #ifdef CONFIG_NET_ESTIMATOR | ||
46 | gen_kill_estimator(&p->tcfc_bstats, | 35 | gen_kill_estimator(&p->tcfc_bstats, |
47 | &p->tcfc_rate_est); | 36 | &p->tcfc_rate_est); |
48 | #endif | ||
49 | kfree(p); | 37 | kfree(p); |
50 | return; | 38 | return; |
51 | } | 39 | } |
@@ -232,15 +220,12 @@ struct tcf_common *tcf_hash_create(u32 index, struct rtattr *est, struct tc_acti | |||
232 | p->tcfc_bindcnt = 1; | 220 | p->tcfc_bindcnt = 1; |
233 | 221 | ||
234 | spin_lock_init(&p->tcfc_lock); | 222 | spin_lock_init(&p->tcfc_lock); |
235 | p->tcfc_stats_lock = &p->tcfc_lock; | ||
236 | p->tcfc_index = index ? index : tcf_hash_new_index(idx_gen, hinfo); | 223 | p->tcfc_index = index ? index : tcf_hash_new_index(idx_gen, hinfo); |
237 | p->tcfc_tm.install = jiffies; | 224 | p->tcfc_tm.install = jiffies; |
238 | p->tcfc_tm.lastuse = jiffies; | 225 | p->tcfc_tm.lastuse = jiffies; |
239 | #ifdef CONFIG_NET_ESTIMATOR | ||
240 | if (est) | 226 | if (est) |
241 | gen_new_estimator(&p->tcfc_bstats, &p->tcfc_rate_est, | 227 | gen_new_estimator(&p->tcfc_bstats, &p->tcfc_rate_est, |
242 | p->tcfc_stats_lock, est); | 228 | &p->tcfc_lock, est); |
243 | #endif | ||
244 | a->priv = (void *) p; | 229 | a->priv = (void *) p; |
245 | return p; | 230 | return p; |
246 | } | 231 | } |
@@ -599,12 +584,12 @@ int tcf_action_copy_stats(struct sk_buff *skb, struct tc_action *a, | |||
599 | if (compat_mode) { | 584 | if (compat_mode) { |
600 | if (a->type == TCA_OLD_COMPAT) | 585 | if (a->type == TCA_OLD_COMPAT) |
601 | err = gnet_stats_start_copy_compat(skb, 0, | 586 | err = gnet_stats_start_copy_compat(skb, 0, |
602 | TCA_STATS, TCA_XSTATS, h->tcf_stats_lock, &d); | 587 | TCA_STATS, TCA_XSTATS, &h->tcf_lock, &d); |
603 | else | 588 | else |
604 | return 0; | 589 | return 0; |
605 | } else | 590 | } else |
606 | err = gnet_stats_start_copy(skb, TCA_ACT_STATS, | 591 | err = gnet_stats_start_copy(skb, TCA_ACT_STATS, |
607 | h->tcf_stats_lock, &d); | 592 | &h->tcf_lock, &d); |
608 | 593 | ||
609 | if (err < 0) | 594 | if (err < 0) |
610 | goto errout; | 595 | goto errout; |
@@ -614,9 +599,7 @@ int tcf_action_copy_stats(struct sk_buff *skb, struct tc_action *a, | |||
614 | goto errout; | 599 | goto errout; |
615 | 600 | ||
616 | if (gnet_stats_copy_basic(&d, &h->tcf_bstats) < 0 || | 601 | if (gnet_stats_copy_basic(&d, &h->tcf_bstats) < 0 || |
617 | #ifdef CONFIG_NET_ESTIMATOR | ||
618 | gnet_stats_copy_rate_est(&d, &h->tcf_rate_est) < 0 || | 602 | gnet_stats_copy_rate_est(&d, &h->tcf_rate_est) < 0 || |
619 | #endif | ||
620 | gnet_stats_copy_queue(&d, &h->tcf_qstats) < 0) | 603 | gnet_stats_copy_queue(&d, &h->tcf_qstats) < 0) |
621 | goto errout; | 604 | goto errout; |
622 | 605 | ||