On Sun, Oct 11, 2026 at 03:48:46PM -0400, Mathieu Desnoyers wrote:
> Hi Paul,
> 
> This series applies on top of "hazptr: handle NULL address in
> hazptr_detach" you have in your rcu dev tree.
> 
> This first patch addresses a race identified by Boqun Feng in the
> two-phase wildcard scheme. (no change since the last series)
> 
> Patches 2-3 are prerequisites for using ptr_eq() in the 4th patch.
> Those were discussed at length in a prior version of hazard pointer
> patches.
> 
> Since the last series, I have renamed ptreq.h to ptr_eq.h, addressing
> the feedback received from Boqun and Gary.
> 
> Patch 4 introduces a "try acquire" helper to allow the fast path
> to not rely on wildcards, while keeping the wildcard forward
> progress guarantees in the acquire slow path, used on fast path
> failure.

I have pulled this in for additional review and testing, thank you!
(With Bradley's Reviewed-by on 4/4.)  Still subject to rebase, which means
that I can easily replace it with an updated series from you, if you wish.

But in the meantime, some additional testing.  ;-)

                                                        Thanx, Paul

> Thanks,
> 
> Mathieu
> 
> Mathieu Desnoyers (4):
>   hazptr: Fix two-phase hazptr_synchronize race with detach
>   ptr_eq.h: Introduce ptr_eq() to preserve address dependency
>   Documentation: RCU: Refer to ptr_eq()
>   hazptr: Introduce "try acquire" fast path, fallback to overflow list
> 
> Cc: Paul E. McKenney <[email protected]>
> Cc: Boqun Feng <[email protected]>
> Cc: Bradley Morgan <[email protected]>
> Cc: Gary Guo <[email protected]>
> Cc: <[email protected]>
> Cc: <[email protected]>
> Cc: Lian Wang <[email protected]>
> Cc: Kunwu Chan <[email protected]>
> 
>  Documentation/RCU/rcu_dereference.rst |  38 +++++++-
>  arch/x86/include/asm/ptr_eq.h         |  16 +++
>  include/asm-generic/Kbuild            |   1 +
>  include/asm-generic/ptr_eq.h          |  16 +++
>  include/linux/hazptr.h                |  48 +++++----
>  include/linux/ptr_eq.h                |  63 ++++++++++++
>  kernel/hazptr.c                       | 135 +++++++++++++++-----------
>  7 files changed, 237 insertions(+), 80 deletions(-)
>  create mode 100644 arch/x86/include/asm/ptr_eq.h
>  create mode 100644 include/asm-generic/ptr_eq.h
>  create mode 100644 include/linux/ptr_eq.h
> 
> -- 
> 2.43.0
> 

Reply via email to