urcu-bp: use mremap
[urcu.git] / README
diff --git a/README b/README
index 966006613215c8d1ee1415dcca6de46860edb84c..0549f241a5ec71b71287085d3fe199ade332917f 100644 (file)
--- a/README
+++ b/README
@@ -5,6 +5,8 @@ BUILDING
 --------
 
        make
 --------
 
        make
+       #force 32-bit build with: make -f Makefile32
+       #force 64-bit build with: make -f Makefile64
        make install
        
 
        make install
        
 
@@ -31,7 +33,7 @@ Usage of liburcu
 Usage of liburcu-mb
 
        * #include <urcu.h>
 Usage of liburcu-mb
 
        * #include <urcu.h>
-       * Compile code with "-DURCU_MB"
+       * Compile any _LGPL_SOURCE code using this library with "-DURCU_MB".
        * Link with "-lurcu-mb".
        * This version of the urcu library does not need to
          reserve a signal number. URCU_MB uses full memory barriers for
        * Link with "-lurcu-mb".
        * This version of the urcu library does not need to
          reserve a signal number. URCU_MB uses full memory barriers for
@@ -48,6 +50,17 @@ Usage of liburcu-qsbr
          the threads are not active. It provides the fastest read-side at the
          expense of more intrusiveness in the application code.
 
          the threads are not active. It provides the fastest read-side at the
          expense of more intrusiveness in the application code.
 
+Usage of liburcu-bp
+
+       * #include <urcu-bp.h>
+       * Link with "-lurcu-bp".
+       * The BP library flavor stands for "bulletproof". It is specifically
+         designed to help tracing library to hook on applications without
+         requiring to modify these applications. urcu_init(),
+         rcu_register_thread() and rcu_unregister_thread() all become nops.
+         The state is dealt with by the library internally at the expense of
+         read-side and write-side performance.
+
 Initialization
 
        Each thread that has reader critical sections (that uses
 Initialization
 
        Each thread that has reader critical sections (that uses
@@ -68,6 +81,15 @@ Writing
        After, synchronize_rcu() must be called. When it returns, the old
        values are not in usage anymore.
 
        After, synchronize_rcu() must be called. When it returns, the old
        values are not in usage anymore.
 
+Usage of liburcu-defer
+
+       * #include <urcu-defer.h>
+       * Link with "-lurcu-defer"
+       * Provides call_rcu() primitive to enqueue delayed callbacks. Queued
+         callbacks are executed in batch periodically after a grace period.
+         Do _not_ use call_rcu() within a read-side critical section, because
+         it may call synchronize_rcu() if the thread queue is full.
+
 Being careful with signals
 
        The liburcu library uses signals internally. The signal handler is
 Being careful with signals
 
        The liburcu library uses signals internally. The signal handler is
This page took 0.02386 seconds and 4 git commands to generate.