OSDN Git Service

net: sch: simplify condtion for selecting mini_Qdisc_pair buffer
authorSeth Forshee <sforshee@digitalocean.com>
Tue, 26 Oct 2021 18:37:21 +0000 (13:37 -0500)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 Oct 2021 00:09:26 +0000 (17:09 -0700)
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>
net/sched/sch_generic.c

index 24899ef..3b0f620 100644 (file)
@@ -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