[PATCH net-next v3 0/1] ppp: Replace per-CPU recursion counter with lock-owner field

Sebastian Andrzej Siewior <[email protected]> Tue, 15 Jul 2025 17:08:05 +0200
Newsgroups org.kernel.vger.linux-ppp,dev.linux.lists.linux-rt-devel,org.kernel.vger.netdev
Message-ID <[email protected]>
This is another approach to avoid relying on local_bh_disable() for
locking of per-CPU in ppp.

I redid it with the per-CPU lock and local_lock_nested_bh() as discussed
in v1. The xmit_recursion counter has been removed since it served the
same purpose as the owner field. Both were updated and checked.

The xmit_recursion looks like a counter in ppp_channel_push() but at
this point, the counter should always be 0 so it always serves as a
boolean. Therefore I removed it.

I do admit that this looks easier to review.

v2…v3 https://lore.kernel.org/all/[email protected]/
  - rebase on top of net-next
  - replace "ppp channel" with "ppp unit" in the patch description

v1…v2 https://lore.kernel.org/all/[email protected]/
  - Instead of rewriting the sequence and adding two owner fields to
    the two variables that may recurse it now adds a per-CPU variable
    for locking and keeping mostly the old code flow.  

Sebastian Andrzej Siewior (1):
  ppp: Replace per-CPU recursion counter with lock-owner field

 drivers/net/ppp/ppp_generic.c | 38 ++++++++++++++++++++++++++---------
 1 file changed, 29 insertions(+), 9 deletions(-)

-- 
2.50.0