[ltt-dev] [RELEASE] Userspace RCU 0.3.0

Mathieu Desnoyers mathieu.desnoyers at polymtl.ca
Tue Nov 3 10:02:34 EST 2009


Hi everyone,

I released userspace RCU 0.3.0, which includes a small API change for
the "deferred work" interface. After discussion with Paul, I decided to
drop the support for call_rcu() and only provide defer_rcu(), to make
sure I don't provide an API with the same name as the kernel RCU but
with different arguments and semantic. It will generate the following
linker error if used:

file.c:240: undefined reference to 
   `__error_call_rcu_not_implemented_please_use_defer_rcu'

Note that defer_rcu() should *not* be used in RCU read-side C.S.,
because it calls synchronize_rcu() if the queue is full. This is a major
distinction from call_rcu(). (note to self: eventually we should add
some self-check code to detect defer_rcu() nested within RCU read-side
C.S.).

I plan to eventually implement a proper call_rcu() within the userspace
RCU library. It's not, however, a short-term need for me at the moment.

Thanks,

Mathieu

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list