Re: [PATCH v4 1/3] spinlock: extend guard with spinlock_bh variants
From: Peter Zijlstra
Date: Fri Oct 25 2024 - 05:54:45 EST
On Fri, Oct 25, 2024 at 11:47:22AM +0200, Christian Marangi wrote:
> Extend guard APIs with missing raw/spinlock_bh variants.
>
> Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
Feel free to take this through whatever tree the rest of the patches are
targeted at. I don't think I've seen conflicting 'demand' so far.
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> ---
> Changes v4:
> - Out of RFC
> Changes v2:
> - Add this patch
>
> include/linux/spinlock.h | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
> index 63dd8cf3c3c2..d3561c4a080e 100644
> --- a/include/linux/spinlock.h
> +++ b/include/linux/spinlock.h
> @@ -548,6 +548,12 @@ DEFINE_LOCK_GUARD_1(raw_spinlock_irq, raw_spinlock_t,
>
> DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irq, _try, raw_spin_trylock_irq(_T->lock))
>
> +DEFINE_LOCK_GUARD_1(raw_spinlock_bh, raw_spinlock_t,
> + raw_spin_lock_bh(_T->lock),
> + raw_spin_unlock_bh(_T->lock))
> +
> +DEFINE_LOCK_GUARD_1_COND(raw_spinlock_bh, _try, raw_spin_trylock_bh(_T->lock))
> +
> DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
> raw_spin_lock_irqsave(_T->lock, _T->flags),
> raw_spin_unlock_irqrestore(_T->lock, _T->flags),
> @@ -569,6 +575,13 @@ DEFINE_LOCK_GUARD_1(spinlock_irq, spinlock_t,
> DEFINE_LOCK_GUARD_1_COND(spinlock_irq, _try,
> spin_trylock_irq(_T->lock))
>
> +DEFINE_LOCK_GUARD_1(spinlock_bh, spinlock_t,
> + spin_lock_bh(_T->lock),
> + spin_unlock_bh(_T->lock))
> +
> +DEFINE_LOCK_GUARD_1_COND(spinlock_bh, _try,
> + spin_trylock_bh(_T->lock))
> +
> DEFINE_LOCK_GUARD_1(spinlock_irqsave, spinlock_t,
> spin_lock_irqsave(_T->lock, _T->flags),
> spin_unlock_irqrestore(_T->lock, _T->flags),
> --
> 2.45.2
>