X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=README;h=ce25e3a3dabc8977f7a4dc5d4e391e5238e455fc;hb=1644042068ae8de26c9f6b85dcb2a5cd0b0f7608;hp=1e76f2d1b098bb9579d573fcf8f36211c3c7c5f9;hpb=83e8be5202702a7c9d00fa8ca9d654e2c285cb85;p=urcu.git diff --git a/README b/README index 1e76f2d..ce25e3a 100644 --- a/README +++ b/README @@ -44,6 +44,21 @@ supported, with the following exceptions: - Alpha, ia64 and ARM architectures depend on 4.x gcc with atomic builtins support. +For developers using the git tree: + +This source tree is based on the autotools suite from GNU to simplify +portability. Here are some things you should have on your system in order to +compile the git repository tree : + +- GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50) + (make sure your system wide "automake" points to a recent version!) +- GNU Libtool >=2.2 + (for more information, go to http://www.gnu.org/software/autoconf/) + +If you get the tree from the repository, you will need to use the "bootstrap" +script in the root of the tree. It calls all the GNU tools needed to prepare the +tree configuration. + QUICK START GUIDE ----------------- @@ -187,6 +202,15 @@ Interaction with mutexes mutex in its dependency chain) should not be acquired from within a RCU read-side critical section. + This is especially important to understand in the context of the + QSBR flavor: a registered reader thread being "online" by + default should be considered as within a RCU read-side critical + section unless explicitly put "offline". Therefore, if + synchronize_rcu() is called with a mutex held, this mutex, as + well as any mutex which has this mutex in its dependency chain + 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