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 :(

