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