convert to autotools
[urcu.git] / README
diff --git a/README b/README
index 966006613215c8d1ee1415dcca6de46860edb84c..a2cc296a480fe768d0b318cf9dcdd32002b656f6 100644 (file)
--- a/README
+++ b/README
@@ -4,6 +4,8 @@ by Mathieu Desnoyers and Paul E. McKenney
 BUILDING
 --------
 
 BUILDING
 --------
 
+       ./bootstrap (skip if using tarball)
+       ./configure
        make
        make install
        
        make
        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.023003 seconds and 4 git commands to generate.