Re: [PATCH net-next 1/3] ppp: convert rlock to rwlock to improve RX concurrency

From: Andrew Lunn
Date: Wed Jun 25 2025 - 04:11:49 EST


> #define ppp_xmit_lock(ppp) spin_lock_bh(&(ppp)->wlock)
> #define ppp_xmit_unlock(ppp) spin_unlock_bh(&(ppp)->wlock)
> -#define ppp_recv_lock(ppp) spin_lock_bh(&(ppp)->rlock)
> -#define ppp_recv_unlock(ppp) spin_unlock_bh(&(ppp)->rlock)
> +#define ppp_recv_lock(ppp) write_lock_bh(&(ppp)->rlock)
> +#define ppp_recv_unlock(ppp) write_unlock_bh(&(ppp)->rlock)
> #define ppp_lock(ppp) do { ppp_xmit_lock(ppp); \
> ppp_recv_lock(ppp); } while (0)
> #define ppp_unlock(ppp) do { ppp_recv_unlock(ppp); \
> ppp_xmit_unlock(ppp); } while (0)
> +#define ppp_recv_read_lock(ppp) read_lock_bh(&(ppp)->rlock)
> +#define ppp_recv_read_unlock(ppp) read_unlock_bh(&(ppp)->rlock)

Given the _read_ in ppp_recv_read_lock(), maybe ppp_recv_lock() should
be ppp_recv_write_lock()? Makes it symmetrical, and clearer there is a
read/write lock.

Andrew