aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorSeth Forshee <sforshee@digitalocean.com>2021-10-26 13:37:21 -0500
committerJakub Kicinski <kuba@kernel.org>2021-10-27 17:09:26 -0700
commit85c0c3eb9a6657887e3f7c5140e38f529c815ee0 (patch)
tree3ee2827d5bdfc354de8fc7890d576c822c2102cf /net/sched
parentnet: sch: eliminate unnecessary RCU waits in mini_qdisc_pair_swap() (diff)
downloadlinux-dev-85c0c3eb9a6657887e3f7c5140e38f529c815ee0.tar.xz
linux-dev-85c0c3eb9a6657887e3f7c5140e38f529c815ee0.zip
net: sch: simplify condtion for selecting mini_Qdisc_pair buffer
The only valid values for a miniq pointer are NULL or a pointer to miniq1 or miniq2, so testing for miniq_old != &miniq1 is functionally equivalent to testing that it is NULL or equal to &miniq2. Suggested-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Seth Forshee <sforshee@digitalocean.com> Link: https://lore.kernel.org/r/20211026183721.137930-1-seth@forshee.me Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_generic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 24899efc51be..3b0f62095803 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -1500,7 +1500,7 @@ void mini_qdisc_pair_swap(struct mini_Qdisc_pair *miniqp,
if (!tp_head) {
RCU_INIT_POINTER(*miniqp->p_miniq, NULL);
} else {
- miniq = !miniq_old || miniq_old == &miniqp->miniq2 ?
+ miniq = miniq_old != &miniqp->miniq1 ?
&miniqp->miniq1 : &miniqp->miniq2;
/* We need to make sure that readers won't see the miniq