X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=README.md;h=461574617f8abd4a92054fbe4a5b0c45d5e4d9b5;hp=b33095cb71774d13f31d5ef02df4d67159fbe741;hb=5ffcaeef59b55dbb6d3a0d952f87d8a7387edca3;hpb=d589a916c59393f17a063db2752db89e91eb2296 diff --git a/README.md b/README.md index b33095c..4615746 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Currently, the following architectures are supported: - S390, S390x - ARM 32/64 - MIPS + - NIOS2 - Alpha - ia64 - Sparcv9 32/64 @@ -115,13 +116,13 @@ API 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 @@ -158,7 +159,11 @@ This is the preferred version of the library, in terms of 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` @@ -262,7 +267,7 @@ Its API is currently experimental. It may change in future library releases. 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. @@ -353,12 +358,19 @@ can be forced by specifying `--disable-compiler-tls` as configure 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` @@ -396,4 +408,4 @@ Contacts -------- 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`.