On Fri, Sep 25, 2026 at 09:52:23AM +0200, Benjamin Robin (Schneider Electric) 
wrote:
> From: Pablo Neira Ayuso <[email protected]>
> 
> [ Upstream commit f902877b635551513729bdf9a8d1422c4aab7741 ]
> 
> This patch adds a helper function, list_splice_rcu(), to safely splice
> a private (non-RCU-protected) list into an RCU-protected list.
> 
> The function ensures that only the pointer visible to RCU readers
> (prev->next) is updated using rcu_assign_pointer(), while the rest of
> the list manipulations are performed with regular assignments, as the
> source list is private and not visible to concurrent RCU readers.
> 
> This is useful for moving elements from a private list into a global
> RCU-protected list, ensuring safe publication for RCU readers.
> Subsystems with some sort of batching mechanism from userspace can
> benefit from this new function.
> 
> The function __list_splice_rcu() has been added for clarity and to
> follow the same pattern as in the existing list_splice*() interfaces,
> where there is a check to ensure that the list to splice is not
> empty. Note that __list_splice_rcu() has no documentation for this
> reason.
> 
> Reviewed-by: Paul E. McKenney <[email protected]>
> Signed-off-by: Pablo Neira Ayuso <[email protected]>
> ---
>  include/linux/rculist.h | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)

You did not sign off on this commit :(


Reply via email to