diff options
author | Vlad Buslov <vladbu@mellanox.com> | 2019-10-30 17:09:02 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-10-31 04:07:50 +0300 |
commit | 26b537a88ca5b7399c7ab0656e06dbd9da9513c1 (patch) | |
tree | ddbd17541c0dc871b712925bd5e5922b13f1ca75 /include/net/act_api.h | |
parent | 5e1ad95b630e652d3467d1fd1f0b5e5ea2c441e2 (diff) | |
download | linux-26b537a88ca5b7399c7ab0656e06dbd9da9513c1.tar.xz |
net: sched: extract qstats update code into functions
Extract common code that increments cpu_qstats counters into standalone act
API functions. Change hardware offloaded actions that use percpu counter
allocation to use the new functions instead of accessing cpu_qstats
directly.
This commit doesn't change functionality.
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/act_api.h')
-rw-r--r-- | include/net/act_api.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/net/act_api.h b/include/net/act_api.h index 9a32853f77f9..8d6861ce205b 100644 --- a/include/net/act_api.h +++ b/include/net/act_api.h @@ -193,6 +193,22 @@ static inline void tcf_action_update_bstats(struct tc_action *a, bstats_cpu_update(this_cpu_ptr(a->cpu_bstats), skb); } +static inline struct gnet_stats_queue * +tcf_action_get_qstats(struct tc_action *a) +{ + return this_cpu_ptr(a->cpu_qstats); +} + +static inline void tcf_action_inc_drop_qstats(struct tc_action *a) +{ + qstats_drop_inc(this_cpu_ptr(a->cpu_qstats)); +} + +static inline void tcf_action_inc_overlimit_qstats(struct tc_action *a) +{ + qstats_overlimit_inc(this_cpu_ptr(a->cpu_qstats)); +} + void tcf_action_update_stats(struct tc_action *a, u64 bytes, u32 packets, bool drop, bool hw); int tcf_action_copy_stats(struct sk_buff *, struct tc_action *, int); |