On Tue, Apr 22, 2025 at 07:38:30PM +0200, Uladzislau Rezki (Sony) wrote:
> The SRCU read-side critical sections describes the difference between
> srcu_down_read()/srcu_up_read() and srcu_read_lock()/srcu_read_unlock()
> in a way that a last pair must occur on the same CPU.
> 
> This is not true, the srcu_read_unlock() can happen on any CPU, but it
> must be performed by the same task that invoked srcu_read_lock().
> 
> Signed-off-by: Uladzislau Rezki (Sony) <ure...@gmail.com>

Good catch!

Reviewed-by: Paul E. McKenney <paul...@kernel.org>

> ---
>  tools/memory-model/Documentation/explanation.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/memory-model/Documentation/explanation.txt 
> b/tools/memory-model/Documentation/explanation.txt
> index 6dc8b3642458..34aa3172071b 100644
> --- a/tools/memory-model/Documentation/explanation.txt
> +++ b/tools/memory-model/Documentation/explanation.txt
> @@ -1896,7 +1896,7 @@ following respects:
>  
>  3.   The srcu_down_read() and srcu_up_read() primitives work
>       exactly like srcu_read_lock() and srcu_read_unlock(), except
> -     that matching calls don't have to execute on the same CPU.
> +     that matching calls don't have to execute within the same context.
>       (The names are meant to be suggestive of operations on
>       semaphores.)  Since the matching is determined by the domain
>       pointer and index value, these primitives make it possible for
> -- 
> 2.39.5
> 

Reply via email to