X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=doc%2Frcu-api.txt;h=b64731671e3a78fd15b669e9927f646f45235852;hp=72430f7b248565ff2508cac3fde7d03914e50810;hb=8fd9af4adc59c8a0d6bcea7c286c4e0cae7138b9;hpb=fe999c058bf1c1595890e9d71aacc6decc64bb49 diff --git a/doc/rcu-api.txt b/doc/rcu-api.txt index 72430f7..b647316 100644 --- a/doc/rcu-api.txt +++ b/doc/rcu-api.txt @@ -62,6 +62,15 @@ void call_rcu(struct rcu_head *head, call_rcu should be called from registered RCU read-side threads. For the QSBR flavor, the caller should be online. +void rcu_barrier(void); + + Wait for all call_rcu() work initiated prior to rcu_barrier() by + _any_ thread on the system to have completed before rcu_barrier() + returns. rcu_barrier() should never be called from a call_rcu() + thread. This function can be used, for instance, to ensure that + all memory reclaim involving a shared object has completed + before allowing dlclose() of this shared object to complete. + struct call_rcu_data *create_call_rcu_data(unsigned long flags, int cpu_affinity); @@ -72,17 +81,6 @@ struct call_rcu_data *create_call_rcu_data(unsigned long flags, "cpu_affinity" specifies a cpu on which the call_rcu thread should be affined to. It is ignored if negative. -struct call_rcu_data *get_default_call_rcu_data(void); - - Returns the handle of the default call_rcu() helper thread. - -struct call_rcu_data *get_call_rcu_data(void); - - Returns the handle of the current thread's call_rcu() helper - thread, which might well be the default helper thread. - get_call_rcu_data should be called from registered RCU read-side - threads. For the QSBR flavor, the caller should be online. - void call_rcu_data_free(struct call_rcu_data *crdp); Terminates a call_rcu() helper thread and frees its associated @@ -114,7 +112,9 @@ struct call_rcu_data *get_call_rcu_data(void); Returns the handle for the current thread's call_rcu() helper thread, which is either, in increasing order of preference: per-thread hard-assigned helper thread, per-cpu helper thread, - or default helper thread. + or default helper thread. get_call_rcu_data should be called + from registered RCU read-side threads. For the QSBR flavor, the + caller should be online. pthread_t get_call_rcu_thread(struct call_rcu_data *crdp);