File: ChangeLog

package info (click to toggle)
liburcu 0.6.7-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,784 kB
  • sloc: ansic: 11,459; sh: 10,312; makefile: 184
file content (214 lines) | stat: -rw-r--r-- 8,930 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
2011-12-12 Userspace RCU 0.6.7
	* Add compat file for test urcu wfs
	* Add missing compat file for wfq test
	* hlist.h: Add missing stddef.h include for NULL
	* call_rcu: Add missing call_rcu_before_fork and
	  call_rcu_after_fork_parent declarations
	* Describe autotools/libtool/automake version dependency
	* Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated)
	* Support older autotools
	* Apply autoupdate to configure.ac
	* Fix build for amd64 environment (for FreeBSD 8.2)
	* Add missing rcu_dereference_sym_bp
	* Install test scripts in the dist tarball

2011-11-03 Userspace RCU 0.6.6
	* qsbr vs call_rcu : remove exit assertion
	* Rename likely/unlikely to caa_likely/caa_unlikely
	* Reinsert missing test_urcu_*.c files (missing in rename)
	* rename test_qsbr to test_urcu_qsbr
	* urcu-pointer: fix rcu_set_pointer unset return value
	* Enhance API.txt documentation, add to Makefile as EXTRA_DIST

2011-09-29 Userspace RCU 0.6.5
	* call_rcu: Document call_rcu requirements
	* call_rcu: fix error handling of malloc error
	* urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data
	* urcu,call_rcu: Cleanup call_rcu_data pointers before use in child
	* urcu,call_rcu: avoid create call_rcu_data for child when unneed
	* urcu,defer_rcu: Make defer_rcu encoding more compact for marker
	* urcu_defer: Use cancellation flag instead of pthread_cancel()
	* urcu,call_rcu: protects call_rcu_data_list when remove node
	* Create default call rcu data upon per-cpu call-rcu teardown
	* powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode
	* cmm: provide lightweight smp_rmb/smp_wmb on PPC
	* atomic: provide seq_cst semantics on powerpc
	* avoid leaking crdp for failed path
	* Return -EEXIST when the old cpu call_rcu_data has not been removed
	* protect writing to per_cpu_call_rcu_data[*]
	* wake up default call_rcu thread after we move the leftover callbacks
	* avoid memory leak in call_rcu_data_free()
	* urcu call_rcu: fix use after free()
	* use get_cpu_call_rcu_data() for get_call_rcu_data()
	* init maxcpus before use
	* call_rcu implementation: add missing static
	* Document QSBR interaction with mutexes
	* urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h
	* urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them
	* Pair all_cpu call_rcu create with free
	* QSBR: add missing wakeups in synchronize_rcu code
	* cmm: do not generate code for smp_rmb/smp_wmb on x86_64
	* cmm: let per-arch files provide cmm_smp_* barriers
	* Optimize caa_get_cycles() for PowerPC64
	* lfq/lfs tests: use call_rcu
	* list: Add cds_list_first_entry
	* rculfstack/queue: define _LGPL_SOURCE around static header include
	* Add __rcu annotation (unimplemented)
	* Fix incorrect fsf address in header files
	* wfstack: push returns prior stack emptiness state
	* Make lf stack push return if the stack was empty
	* Document caa_container_of
	* urcu-bp: do not call munmap for NULL registry at exit
	* urcu libraries can directly use the _LGPL_SOURCE wfqueue
	* rculfstack: document "push"
	* Add runall.sh to tarball
	* Fix build order of liburcu-cds-common
	* Fix missing check for SYS_membarrier in map header
	* urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods
	* api: reimplement BUILD_BUG_ON in compiler.h
	* test api cleanup: remove unused primitives
	* put thread offline while waiting for the init flag
	* urcu: move private definitions to .c file
	* urcu-bp: move private definitions to .c file
	* urcu-qsbr: move private definitions to .c file
	* rcutorture: fix rcutorture-qsbr
	* wfqueue: fix type-incorrect assignment
	* Fix tests Makefile EXTRA_DIST to use api.h
	* Fix choice of default flavour in urcu/map/urcu.h
	* api: remove list/hlist
	* api: remove arch-specific files
	* api: make api_gcc.h a superset of the other headers
	* tests api: remove atomics
	* put thread offline while waiting for the init flag
	* urcu: move private definitions to .c file
	* urcu-bp: move private definitions to .c file
	* urcu-qsbr: move private definitions to .c file
	* rcutorture: fix rcutorture-qsbr
	* wfqueue: fix type-incorrect assignment
	* Use caa_ prefix for min() and max()

2011-07-21 Userspace RCU 0.6.4
	* uatomic: Fix ARM build errors in uatomic.
	* urcu tests: hold mutex across use of custom allocator.
	* Portability fixes to support FreeBSD 8.2.

2011-06-27 Userspace RCU 0.6.3
	* uatomic: Fix i386 compatibility build errors in uatomic.

2011-06-13 Userspace RCU 0.6.2
	* Fix build on powerpc.

2011-06-13 Userspace RCU 0.6.1
	* Add missing headers into release tarball:
	    urcu-call-rcu-impl.h and urcu-defer-impl.h

2011-06-10 Userspace RCU 0.6.0
	* Added call_rcu() support, graciously contributed by Paul E. McKenney.
	* Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
	  into a single .so: liburcu-cds.so to have a single header/shared
	  object holding all concurrency-aware data containers. It provides
	  support for RCU lists, queues and stacks at the moment.
	* liburcu 0.6.0 now allows linking a single application with multiple
	  flavors of RCU. This required a library API change which is
	  incompatible with older 0.5.x liburcu. The .so version number
	  is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
	* Added "atfork" handling API, documented in README. Only useful for
	  processes using fork() without following exec().
	* Renaming the following files, keeping the old files (producing a
	  compiler warning):
	    urcu/uatomic_arch.h -> urcu/uatomic.h
	    urcu/urcu-futex.h -> urcu/futex.h
	    urcu/urcu_ref.h -> urcu/ref.h

2011-03-04 Userspace RCU 0.5.4
	 *  urcu-bp: Update fork() handling

	    Introduce

	    extern void rcu_bp_before_fork(void);
	    extern void rcu_bp_after_fork_parent(void);
	    extern void rcu_bp_after_fork_child(void);

	    to handle fork gracefully. These disable signals and hold
	    the registry mutex across forks. (this flavor of the liburcu
	    library ("bp" for "bulletproof") is mainly used by UST, the
	    user-space tracer).

2011-03-03 Userspace RCU 0.5.3
	* Add support for older ARM single-CPU architecturess (pre-ARMv7)
	  (thanks to Jason Wessel from WindRiver).
	* Fix ARMv7 cmm_rmb/cmm_wmb primitives (use a dmb barrier).
	* Remove leftover list_t type from urcu/list.h (namespace cleanup).
	* urcu_defer: handle malloc error value.
	* Update README file to describe urcu interaction with fork() when not
	* followed
	  by an exec() system call.

2010-11-18 Userspace RCU 0.5.2
	* Fix renaming error introduced in 0.5.0.

2010-11-18 Userspace RCU 0.5.1
	* Fix renaming error introduced in 0.5.0. (incomplete fix)

2010-11-18 Userspace RCU 0.5.0
	* Version 0.5.0 changes the API presented by memory model,
	  architecture abstraction and data structure primitives in
	  headers. The prefixes are, respectively:
	    - cmm_ : Concurrent Memory Model
	    - caa_ : Concurrent Architecture Abstraction
	    - cds_ : Concurrent Data Structures

2010-03-04 Userspace RCU 0.4.2
	* Add generic uatomic ops support.
	* Bugfix in urcu-bp. (rare garbage collection bug occurring in
	  multithreaded environment). Only affects urcu-bp users (UST).

2010-02-12 Userspace RCU 0.4.1
	* s390: compilation fix.

2010-01-30 Userspace RCU 0.4.0
	* API change: SIGURCU -> SIGRCU
	* API changes: standardize on rcu_ prefix.
	* API change: urcu_init -> rcu_init.
	* urcu/config.h options renamed to CONFIG_RCU_HAVE_FENCE,
	  CONFIG_RCU_HAVE_FUTEX, CONFIG_RCU_SMP, CONFIG_RCU_COMPAT_ARCH.
	  ((moving from URCU -> RCU).
	* library names changes: liburcu becomes the "default" version, using
	  sys_membarrier() when available, and using liburcu-mb as a
	  fallback.
	* The signal-based liburcu is renamed from liburcu to
	  liburcu-signal. People previously using the signal-based
	  "liburcu" will automatically be moved to the "default" liburcu
	  version.

2009-11-16 Userspace RCU 0.3.1
	* Add support for sparcv9 32-bit build.
	* Update build system to use --host instead of --target.

2009-11-03 Userspace RCU 0.3.0
	* API change for the "deferred work" interface.

2009-10-14 Userspace RCU 0.2.3
	* Move to autotools.
	* Automated architecture detection, with i386 fallback.
	* Detect if NR_futex is on the system, fallback on portable
	  alternatives.
	* Add configure mode for UP-only systems.

2009-10-02 Userspace RCU 0.2.2
	* Phases out rcu_publish_content() api.
	* Adds type checking to urcu-pointer.h pointer exchange primitives.

2009-10-02 Userspace RCU 0.2.1
	* small header dependency fix for rculist.h.
	* new "liburcu-bp.so" : "Bulletproof RCU", made especially for
	  the UST userspace tracer. It's a library that sacrifices a bit
	  of read-side performance for automatically monitoring thread
	  creation/removal. See README for details.

2009-10-01 Userspace RCU 0.2
	* Clarify usage of rcu_cmpxchg_pointer, rcu_xchg_pointer,
	  rcu_set_pointer.

2009-09-29 Userspace RCU 0.1
	* Initial release.