X-Git-Url: https://git.lttng.org/?p=urcu.git;a=blobdiff_plain;f=README;h=c7403f8da1ca35e8d9734d74ed47e5fdabf3f7fd;hp=2d29c1d4e1c670800ec808a693f41cca2344ea0c;hb=e2fcb2d325f216c558beca525ac25e4e42115dbb;hpb=07bd1a22e2ae42578d2a1854de8430cd1af13227 diff --git a/README b/README index 2d29c1d..c7403f8 100644 --- a/README +++ b/README @@ -27,9 +27,10 @@ ARCHITECTURES SUPPORTED ----------------------- Currently, Linux x86 (i386, i486, i586, i686), x86 64-bit, PowerPC 32/64, -S390, S390x, ARM, Alpha, ia64 and Sparcv9 32/64 are supported. Tested on -Linux, FreeBSD 8.2/9.0, and Cygwin. Should also work on: Android, NetBSD 5, -OpenBSD, Darwin (more testing needed before claiming support for these OS). +S390, S390x, ARM, MIPS, Alpha, ia64 and Sparcv9 32/64 are supported. +Tested on Linux, FreeBSD 8.2/8.3/9.0/9.1/10.0 i386/amd64, and Cygwin. +Should also work on: Android, NetBSD 5, OpenBSD, Darwin (more testing +needed before claiming support for these OS). Linux ARM depends on running a Linux kernel 2.6.15 or better, GCC 4.4 or better. @@ -48,6 +49,8 @@ supported, with the following exceptions: support. For ARM this was introduced with gcc 4.4: http://gcc.gnu.org/gcc-4.4/changes.html +Clang version 3.0 (based on LLVM 3.0) is supported. + For developers using the git tree: This source tree is based on the autotools suite from GNU to simplify @@ -73,11 +76,11 @@ API See the relevant API documentation files in doc/. The APIs provided by Userspace RCU are, by prefix: -- rcu_ : Read-Copy Update +- rcu_ : Read-Copy Update (see doc/rcu-api.txt) - cmm_ : Concurrent Memory Model - caa_ : Concurrent Architecture Abstraction -- cds_ : Concurrent Data Structures -- uatomic_: Userspace Atomic +- cds_ : Concurrent Data Structures (see doc/cds-api.txt) +- uatomic_: Userspace Atomic (see doc/uatomic-api.txt) QUICK START GUIDE @@ -232,28 +235,6 @@ Interaction with mutexes should only be taken when the RCU reader thread is "offline" (this can be performed by calling rcu_thread_offline()). -Usage of DEBUG_RCU - - 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. - -Usage of DEBUG_YIELD - - DEBUG_YIELD is used to add random delays in the code for testing - purposes. - -SMP support - - By default the library is configured to use synchronization primitives - adequate for SMP systems. On uniprocessor systems, support for SMP - systems can be disabled with: - - ./configure --disable-smp-support - - theoretically yielding slightly better performance. - Interaction with fork() Special care must be taken for applications performing fork() without @@ -294,3 +275,25 @@ Thread Local Storage (TLS) TLS variables on systems where it is not available. This behavior can be forced by specifying --disable-compiler-tls as configure argument. + +Usage of DEBUG_RCU + + 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. + +Usage of DEBUG_YIELD + + DEBUG_YIELD is used to add random delays in the code for testing + purposes. + +SMP support + + By default the library is configured to use synchronization primitives + adequate for SMP systems. On uniprocessor systems, support for SMP + systems can be disabled with: + + ./configure --disable-smp-support + + theoretically yielding slightly better performance.