71cf729598bd8e5e9223246a3b5562bbaa017dd5
[urcu.git] / README
1 Userspace RCU Implementatation
2 by Mathieu Desnoyers and Paul E. McKenney
3
4 BUILDING
5 --------
6
7 make
8 make install
9
10
11 QUICK START GUIDE
12 -----------------
13
14 Initialization
15
16 Each thread that has reader critical sections (that uses
17 rcu_read_lock()/rcu_read_unlock() must first register to the URCU
18 library. This is done by calling rcu_register_thread().
19
20 Reading
21
22 Reader critical sections must be protected by locating them between
23 calls to rcu_read_lock() and rcu_read_unlock(). Inside that lock,
24 rcu_dereference() may be called to read an RCU protected pointer.
25
26 Writing
27
28 rcu_assign_pointer() and rcu_xchg_pointer() may be called anywhere.
29 After, synchronize_rcu() must be called. When it returns, the old
30 values are not in usage anymore.
31
32
33 Usage of DEBUG_FULL_MB
34
35 DEBUG_FULL_MB uses full SMP barriers for readers. This eliminates the
36 need for signals but results in slower reads.
37
38
39 Usage of DEBUG_YIELD
40
41 DEBUG_YIELD is used to add random delays in the code for testing
42 purposes.
43
This page took 0.028771 seconds and 3 git commands to generate.