[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20191226.154215.2234334150532757208.davem@davemloft.net>
Date: Thu, 26 Dec 2019 15:42:15 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: dcaratti@...hat.com
Cc: netdev@...r.kernel.org, vladbu@...lanox.com, jhs@...atatu.com
Subject: Re: [PATCH net 0/2] net/sched: avoid walk() while deleting filters
that still use rtnl_lock
From: Davide Caratti <dcaratti@...hat.com>
Date: Tue, 24 Dec 2019 10:30:51 +0100
> 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")
I think you really need to do the revert and the new version of the fix
in the same commit or similar.
Otherwise this series will not bisect cleanly, because any test on this
functionality will fail after patch #1.
Thanks.
Powered by blists - more mailing lists