- S390, S390x
- ARM 32/64
- MIPS
+ - NIOS2
- Alpha
- ia64
- Sparcv9 32/64
See the relevant API documentation files in `doc/`. The APIs provided by
Userspace RCU are, by prefix:
- - `rcu_`: Read-Copy Update (see [`doc/rcu-api.txt`](doc/rcu-api.txt))
+ - `rcu_`: Read-Copy Update (see [`doc/rcu-api.md`](doc/rcu-api.md))
- `cmm_`: Concurrent Memory Model
- `caa_`: Concurrent Architecture Abstraction
- `cds_`: Concurrent Data Structures
- (see [`doc/cds-api.txt`](doc/cds-api.txt))
+ (see [`doc/cds-api.md`](doc/cds-api.md))
- `uatomic_`: Userspace Atomic
- (see [`doc/uatomic-api.txt`](doc/uatomic-api.txt))
+ (see [`doc/uatomic-api.md`](doc/uatomic-api.md))
Quick start guide
grace-period detection speed, read-side speed and flexibility.
Dynamically detects kernel support for `sys_membarrier()`. Falls back
on `urcu-mb` scheme if support is not present, which has slower
-read-side.
+read-side. Use the --disable-sys-membarrier-fallback configure option
+to disable the fall back, thus requiring `sys_membarrier()` to be
+available. This gives a small speedup when `sys_membarrier()` is
+supported by the kernel, and aborts in the library constructor if not
+supported.
### Usage of `liburcu-qsbr`
grace periods. A number of additional functions are provided
to manage the helper threads used by `call_rcu()`, but reasonable
defaults are used if these additional functions are not invoked.
- See [`doc/rcu-api.txt`](doc/rcu-api.txt) in userspace-rcu documentation
+ See [`doc/rcu-api.md`](doc/rcu-api.md) in userspace-rcu documentation
for more details.
argument.
-### Usage of `DEBUG_RCU`
+### Usage of `DEBUG_RCU` & `--enable-rcu-debug`
-`DEBUG_RCU` is used to add internal debugging self-checks to the
-RCU library. This define adds a performance penalty when enabled.
-Can be enabled by uncommenting the corresponding line in
-`Makefile.build.inc`.
+By default the library is configured with internal debugging
+self-checks disabled.
+
+For always-on debugging self-checks:
+ ./configure --enable-rcu-debug
+
+For fine grained enabling of debugging self-checks, build
+urserspace-rcu with DEBUG_RCU defined and compile dependent
+applications with DEBUG_RCU defined when necessary.
+
+Warning: Enabling this feature result in a performance penalty.
### Usage of `DEBUG_YIELD`
--------
You can contact the maintainers on the following mailing list:
-`lttng-dev@lists.lttng.org`.
\ No newline at end of file
+`lttng-dev@lists.lttng.org`.