From: Davide Caratti <dcaratti@redhat.com>
To: "David S. Miller" <davem@davemloft.net>,
netdev@vger.kernel.org, Vlad Buslov <vladbu@mellanox.com>,
Jamal Hadi Salim <jhs@mojatatu.com>
Subject: [PATCH net 0/2] net/sched: avoid walk() while deleting filters that still use rtnl_lock
Date: Tue, 24 Dec 2019 10:30:51 +0100 [thread overview]
Message-ID: <cover.1577179314.git.dcaratti@redhat.com> (raw)
we don't need to use walk() on deletion of TC filters, at least for those
implementations that don't have TCF_PROTO_OPS_DOIT_UNLOCKED.
- patch 1/2 restores walk() semantic in cls_u32, that was recently
changed to fix semi-configured filters in the error path of u32_change().
- patch 2/2 moves the delete_empty() logic to cls_flower, the only filter
that currently needs to guard against concurrent insert/delete.
For flower, the current delete_empty() still [ab,]uses walk(), to
preserve the bugfixes introduced by [1] and [2]: a follow-up commit
in the future can implement a proper delete_empty() that avoids calls
to fl_walk().
(tested with tdc "concurrency", "matchall", "basic" and "u32")
[1] 6676d5e416ee ("net: sched: set dedicated tcf_walker flag when tp is empty")
[2] 8b64678e0af8 ("net: sched: refactor tp insert/delete for concurrent execution")
Davide Caratti (2):
Revert "net/sched: cls_u32: fix refcount leak in the error path of
u32_change()"
net/sched: add delete_empty() to filters and use it in cls_flower
include/net/sch_generic.h | 2 ++
net/sched/cls_api.c | 29 ++++-------------------------
net/sched/cls_flower.c | 23 +++++++++++++++++++++++
net/sched/cls_u32.c | 25 -------------------------
4 files changed, 29 insertions(+), 50 deletions(-)
--
2.24.1
next reply other threads:[~2019-12-24 9:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-24 9:30 Davide Caratti [this message]
2019-12-24 9:30 ` [PATCH net 1/2] Revert "net/sched: cls_u32: fix refcount leak in the error path of u32_change()" Davide Caratti
2019-12-24 9:30 ` [PATCH net 2/2] net/sched: add delete_empty() to filters and use it in cls_flower Davide Caratti
2019-12-24 11:48 ` Vlad Buslov
2019-12-24 14:53 ` Davide Caratti
2019-12-24 15:17 ` Vlad Buslov
2019-12-24 12:49 ` [PATCH net 0/2] net/sched: avoid walk() while deleting filters that still use rtnl_lock Jamal Hadi Salim
2019-12-26 23:42 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1577179314.git.dcaratti@redhat.com \
--to=dcaratti@redhat.com \
--cc=davem@davemloft.net \
--cc=jhs@mojatatu.com \
--cc=netdev@vger.kernel.org \
--cc=vladbu@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.