Version 0.6.6
[urcu.git] / ChangeLog
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
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
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
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.
This page took 0.032638 seconds and 5 git commands to generate.