[ltt-dev] [PATCH userspace-rcu] document the call_rcu() family of primitives

Mathieu Desnoyers compudj at krystal.dyndns.org
Tue May 31 17:51:53 EDT 2011


* Paul E. McKenney (paulmck at linux.vnet.ibm.com) wrote:
> Just in case documentation is desired.  ;-)
> 
> 							Thanx, Paul
> 
> ------------------------------------------------------------------------
> 
> Document the new call_rcu() primitives.
> 
> Signed-off-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
> 
> diff --git a/README b/README
> index 7d97f19..0e5ad47 100644
> --- a/README
> +++ b/README
> @@ -139,6 +139,79 @@ Usage of liburcu-defer
>  	* Its API is currently experimental. It may change in future library
>  	  releases.
>  
> +Usage of urcu-call-rcu
> +
[...]
> +
> +	These primitives may be combined to set up pretty much any desired
> +	association between worker and call_rcu() helper threads.  If
> +	a given executable calls only call_rcu(), then that executable
> +	will have only the single global default call_rcu() helper
> +	thread.  This will suffice in most cases.

Hi Paul,

It might be good to keep the information at a level appropriate for
people wanting to familiarize themself with the library. Most
importantly, I don't want people to run away screaming when they see the
full set of options when all they really need is to simply do:

#include <urcu-call-rcu.h>

add struct rcu_head structures and pass them to

  call_rcu(...);

into their code along with a callback.

We could lift out the rest of the discussion about the various detailed
tweaks into a separate document.

How does that sound ?

Mathieu

> +
>  Being careful with signals
>  
>  	The liburcu library uses signals internally. The signal handler is
> 
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list