Commit | Line | Data |
---|---|---|
530aab93 MD |
1 | 2011-11-03 Userspace RCU 0.6.6 |
2 | * qsbr vs call_rcu : remove exit assertion | |
3 | * Rename likely/unlikely to caa_likely/caa_unlikely | |
4 | * Reinsert missing test_urcu_*.c files (missing in rename) | |
5 | * rename test_qsbr to test_urcu_qsbr | |
6 | * urcu-pointer: fix rcu_set_pointer unset return value | |
7 | * Enhance API.txt documentation, add to Makefile as EXTRA_DIST | |
8 | ||
49472b9b MD |
9 | 2011-09-29 Userspace RCU 0.6.5 |
10 | * call_rcu: Document call_rcu requirements | |
11 | * call_rcu: fix error handling of malloc error | |
12 | * urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data | |
13 | * urcu,call_rcu: Cleanup call_rcu_data pointers before use in child | |
14 | * urcu,call_rcu: avoid create call_rcu_data for child when unneed | |
15 | * urcu,defer_rcu: Make defer_rcu encoding more compact for marker | |
16 | * urcu_defer: Use cancellation flag instead of pthread_cancel() | |
17 | * urcu,call_rcu: protects call_rcu_data_list when remove node | |
18 | * Create default call rcu data upon per-cpu call-rcu teardown | |
19 | * powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode | |
20 | * cmm: provide lightweight smp_rmb/smp_wmb on PPC | |
21 | * atomic: provide seq_cst semantics on powerpc | |
22 | * avoid leaking crdp for failed path | |
23 | * Return -EEXIST when the old cpu call_rcu_data has not been removed | |
24 | * protect writing to per_cpu_call_rcu_data[*] | |
25 | * wake up default call_rcu thread after we move the leftover callbacks | |
26 | * avoid memory leak in call_rcu_data_free() | |
27 | * urcu call_rcu: fix use after free() | |
28 | * use get_cpu_call_rcu_data() for get_call_rcu_data() | |
29 | * init maxcpus before use | |
30 | * call_rcu implementation: add missing static | |
31 | * Document QSBR interaction with mutexes | |
32 | * urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h | |
33 | * urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them | |
34 | * Pair all_cpu call_rcu create with free | |
35 | * QSBR: add missing wakeups in synchronize_rcu code | |
36 | * cmm: do not generate code for smp_rmb/smp_wmb on x86_64 | |
37 | * cmm: let per-arch files provide cmm_smp_* barriers | |
38 | * Optimize caa_get_cycles() for PowerPC64 | |
39 | * lfq/lfs tests: use call_rcu | |
40 | * list: Add cds_list_first_entry | |
41 | * rculfstack/queue: define _LGPL_SOURCE around static header include | |
42 | * Add __rcu annotation (unimplemented) | |
43 | * Fix incorrect fsf address in header files | |
44 | * wfstack: push returns prior stack emptiness state | |
45 | * Make lf stack push return if the stack was empty | |
46 | * Document caa_container_of | |
47 | * urcu-bp: do not call munmap for NULL registry at exit | |
48 | * urcu libraries can directly use the _LGPL_SOURCE wfqueue | |
49 | * rculfstack: document "push" | |
50 | * Add runall.sh to tarball | |
51 | * Fix build order of liburcu-cds-common | |
52 | * Fix missing check for SYS_membarrier in map header | |
53 | * urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods | |
54 | * api: reimplement BUILD_BUG_ON in compiler.h | |
55 | * test api cleanup: remove unused primitives | |
56 | * put thread offline while waiting for the init flag | |
57 | * urcu: move private definitions to .c file | |
58 | * urcu-bp: move private definitions to .c file | |
59 | * urcu-qsbr: move private definitions to .c file | |
60 | * rcutorture: fix rcutorture-qsbr | |
61 | * wfqueue: fix type-incorrect assignment | |
62 | * Fix tests Makefile EXTRA_DIST to use api.h | |
63 | * Fix choice of default flavour in urcu/map/urcu.h | |
64 | * api: remove list/hlist | |
65 | * api: remove arch-specific files | |
66 | * api: make api_gcc.h a superset of the other headers | |
67 | * tests api: remove atomics | |
68 | * put thread offline while waiting for the init flag | |
69 | * urcu: move private definitions to .c file | |
70 | * urcu-bp: move private definitions to .c file | |
71 | * urcu-qsbr: move private definitions to .c file | |
72 | * rcutorture: fix rcutorture-qsbr | |
73 | * wfqueue: fix type-incorrect assignment | |
74 | * Use caa_ prefix for min() and max() | |
75 | ||
5d80fb65 MD |
76 | 2011-07-21 Userspace RCU 0.6.4 |
77 | * uatomic: Fix ARM build errors in uatomic. | |
78 | * urcu tests: hold mutex across use of custom allocator. | |
79 | * Portability fixes to support FreeBSD 8.2. | |
80 | ||
aa120cd0 MD |
81 | 2011-06-27 Userspace RCU 0.6.3 |
82 | * uatomic: Fix i386 compatibility build errors in uatomic. | |
83 | ||
84 | 2011-06-13 Userspace RCU 0.6.2 | |
85 | * Fix build on powerpc. | |
86 | ||
87 | 2011-06-13 Userspace RCU 0.6.1 | |
88 | * Add missing headers into release tarball: | |
89 | urcu-call-rcu-impl.h and urcu-defer-impl.h | |
90 | ||
91 | 2011-06-10 Userspace RCU 0.6.0 | |
92 | * Added call_rcu() support, graciously contributed by Paul E. McKenney. | |
93 | * Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS) | |
94 | into a single .so: liburcu-cds.so to have a single header/shared | |
95 | object holding all concurrency-aware data containers. It provides | |
96 | support for RCU lists, queues and stacks at the moment. | |
97 | * liburcu 0.6.0 now allows linking a single application with multiple | |
98 | flavors of RCU. This required a library API change which is | |
99 | incompatible with older 0.5.x liburcu. The .so version number | |
100 | is therefore bumped from 0 to 1 (e.g. liburcu.so.1). | |
101 | * Added "atfork" handling API, documented in README. Only useful for | |
102 | processes using fork() without following exec(). | |
103 | * Renaming the following files, keeping the old files (producing a | |
104 | compiler warning): | |
105 | urcu/uatomic_arch.h -> urcu/uatomic.h | |
106 | urcu/urcu-futex.h -> urcu/futex.h | |
107 | urcu/urcu_ref.h -> urcu/ref.h | |
108 | ||
109 | 2011-03-04 Userspace RCU 0.5.4 | |
110 | * urcu-bp: Update fork() handling | |
111 | ||
112 | Introduce | |
113 | ||
114 | extern void rcu_bp_before_fork(void); | |
115 | extern void rcu_bp_after_fork_parent(void); | |
116 | extern void rcu_bp_after_fork_child(void); | |
117 | ||
118 | to handle fork gracefully. These disable signals and hold | |
119 | the registry mutex across forks. (this flavor of the liburcu | |
120 | library ("bp" for "bulletproof") is mainly used by UST, the | |
121 | user-space tracer). | |
122 | ||
123 | 2011-03-03 Userspace RCU 0.5.3 | |
124 | * Add support for older ARM single-CPU architecturess (pre-ARMv7) | |
125 | (thanks to Jason Wessel from WindRiver). | |
126 | * Fix ARMv7 cmm_rmb/cmm_wmb primitives (use a dmb barrier). | |
127 | * Remove leftover list_t type from urcu/list.h (namespace cleanup). | |
128 | * urcu_defer: handle malloc error value. | |
129 | * Update README file to describe urcu interaction with fork() when not | |
130 | * followed | |
131 | by an exec() system call. | |
132 | ||
133 | 2010-11-18 Userspace RCU 0.5.2 | |
134 | * Fix renaming error introduced in 0.5.0. | |
135 | ||
136 | 2010-11-18 Userspace RCU 0.5.1 | |
137 | * Fix renaming error introduced in 0.5.0. (incomplete fix) | |
138 | ||
139 | 2010-11-18 Userspace RCU 0.5.0 | |
140 | * Version 0.5.0 changes the API presented by memory model, | |
141 | architecture abstraction and data structure primitives in | |
142 | headers. The prefixes are, respectively: | |
143 | - cmm_ : Concurrent Memory Model | |
144 | - caa_ : Concurrent Architecture Abstraction | |
145 | - cds_ : Concurrent Data Structures | |
146 | ||
147 | 2010-03-04 Userspace RCU 0.4.2 | |
148 | * Add generic uatomic ops support. | |
149 | * Bugfix in urcu-bp. (rare garbage collection bug occurring in | |
150 | multithreaded environment). Only affects urcu-bp users (UST). | |
151 | ||
152 | 2010-02-12 Userspace RCU 0.4.1 | |
153 | * s390: compilation fix. | |
154 | ||
155 | 2010-01-30 Userspace RCU 0.4.0 | |
156 | * API change: SIGURCU -> SIGRCU | |
157 | * API changes: standardize on rcu_ prefix. | |
158 | * API change: urcu_init -> rcu_init. | |
159 | * urcu/config.h options renamed to CONFIG_RCU_HAVE_FENCE, | |
160 | CONFIG_RCU_HAVE_FUTEX, CONFIG_RCU_SMP, CONFIG_RCU_COMPAT_ARCH. | |
161 | ((moving from URCU -> RCU). | |
162 | * library names changes: liburcu becomes the "default" version, using | |
163 | sys_membarrier() when available, and using liburcu-mb as a | |
164 | fallback. | |
165 | * The signal-based liburcu is renamed from liburcu to | |
166 | liburcu-signal. People previously using the signal-based | |
167 | "liburcu" will automatically be moved to the "default" liburcu | |
168 | version. | |
169 | ||
170 | 2009-11-16 Userspace RCU 0.3.1 | |
171 | * Add support for sparcv9 32-bit build. | |
172 | * Update build system to use --host instead of --target. | |
173 | ||
174 | 2009-11-03 Userspace RCU 0.3.0 | |
175 | * API change for the "deferred work" interface. | |
176 | ||
177 | 2009-10-14 Userspace RCU 0.2.3 | |
178 | * Move to autotools. | |
179 | * Automated architecture detection, with i386 fallback. | |
180 | * Detect if NR_futex is on the system, fallback on portable | |
181 | alternatives. | |
182 | * Add configure mode for UP-only systems. | |
183 | ||
184 | 2009-10-02 Userspace RCU 0.2.2 | |
185 | * Phases out rcu_publish_content() api. | |
186 | * Adds type checking to urcu-pointer.h pointer exchange primitives. | |
187 | ||
188 | 2009-10-02 Userspace RCU 0.2.1 | |
189 | * small header dependency fix for rculist.h. | |
190 | * new "liburcu-bp.so" : "Bulletproof RCU", made especially for | |
191 | the UST userspace tracer. It's a library that sacrifices a bit | |
192 | of read-side performance for automatically monitoring thread | |
193 | creation/removal. See README for details. | |
194 | ||
195 | 2009-10-01 Userspace RCU 0.2 | |
196 | * Clarify usage of rcu_cmpxchg_pointer, rcu_xchg_pointer, | |
197 | rcu_set_pointer. | |
198 | ||
199 | 2009-09-29 Userspace RCU 0.1 | |
200 | * Initial release. |