list_splice_init_rcu(9)
NAME
list_splice_init_rcu - splice an RCU-protected list into an existing
list.
SYNOPSIS
void list_splice_init_rcu(struct list_head * list,
struct list_head * head,
void (*sync) (void));
ARGUMENTS
- list
- the RCU-protected list to splice
- head
- the place in the list to splice the first list into
- sync
- function to sync: synchronize_rcu, synchronize_sched, ...
DESCRIPTION
head can be RCU-read traversed concurrently with this function.
Note that this function blocks.
IMPORTANT NOTE
the caller must take whatever action is necessary to prevent any other
updates to head. In principle, it is possible to modify the list as
soon as sync begins execution. If this sort of thing becomes necessary,
an alternative version based on call_rcu could be created. But only if
-really- needed -- there is no shortage of RCU API members.