diff options
author | Vlad Buslov <vladbu@mellanox.com> | 2019-03-21 15:17:35 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-21 14:32:17 -0700 |
commit | 061775583e35eeaa3d12ea9641906668159f1b44 (patch) | |
tree | 2ca6ffc24ddd458a2d7f660c9eb230120f9ec3ee /net/sched/act_meta_mark.c | |
parent | 620da4860827e1d0ddc7b941d43920c19314de0e (diff) | |
download | linux-061775583e35eeaa3d12ea9641906668159f1b44.tar.bz2 |
net: sched: flower: introduce reference counting for filters
Extend flower filters with reference counting in order to remove dependency
on rtnl lock in flower ops and allow to modify filters concurrently.
Reference to flower filter can be taken/released concurrently as soon as it
is marked as 'unlocked' by last patch in this series. Use atomic reference
counter type to make concurrent modifications safe.
Always take reference to flower filter while working with it:
- Modify fl_get() to take reference to filter.
- Implement tp->put() callback as fl_put() function to allow cls API to
release reference taken by fl_get().
- Modify fl_change() to assume that caller holds reference to fold and take
reference to fnew.
- Take reference to filter while using it in fl_walk().
Implement helper functions to get/put filter reference counter.
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/act_meta_mark.c')
0 files changed, 0 insertions, 0 deletions