X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=README;h=ce25e3a3dabc8977f7a4dc5d4e391e5238e455fc;hb=3f2f3714e585efa0d009c62cf4a380b4cf28e505;hp=44a4bf574876ec222d00f7fa6123ccd88f3086d0;hpb=e197ac6f111ac509f2bd0fef16c041254494a0de;p=urcu.git diff --git a/README b/README index 44a4bf5..ce25e3a 100644 --- a/README +++ b/README @@ -39,9 +39,26 @@ supported, with the following exceptions: therefore not compatible with liburcu on x86 32-bit (i386, i486, i586, i686). The problem has been reported to the gcc community: http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg281255.html +- gcc 3.3 cannot match the "xchg" instruction on 32-bit x86 build. + See: http://kerneltrap.org/node/7507 - 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 ----------------- @@ -185,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