X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=README;h=f9af1eb483d83d3cee27625efc0eaa5c48dbbe3e;hb=fb6e510b9ae45b9b984b4646b4be6b9d7a2bbf7c;hp=2fae654de9a0aac1bf4e5ea83eebb70656757283;hpb=dd052bd346ddd497ed79f771ea1d5b3406bbcf07;p=urcu.git diff --git a/README b/README index 2fae654..f9af1eb 100644 --- a/README +++ b/README @@ -36,16 +36,27 @@ Being careful with signals some non-restartable system calls to fail with errno = EINTR. Care should be taken to restart system calls manually if they fail with this error. A list of non-restartable system calls may be found in - signal(7). + signal(7). To ensure the Userspace RCU library does not use signals, + define CONFIG_URCU_AVOID_SIGNALS at compile-time. -Usage of DEBUG_FULL_MB + Read-side critical sections can sit in a signal handler. Be careful, + however, to disable these signals between thread creation and calls to + rcu_register_thread(), because a signal handler nesting on an + unregistered thread would not be allowed to call rcu_read_lock(). - DEBUG_FULL_MB uses full SMP barriers for readers. This eliminates the - need for signals but results in slower reads. +Usage of CONFIG_URCU_AVOID_SIGNALS + CONFIG_URCU_AVOID_SIGNALS uses full SMP barriers for readers. This + eliminates the need for signals but results in slower reads. + +Usage of DEBUG_RCU + + DEBUG_RCU is used to add internal debugging self-checks to the + RCU library. This define adds a performance penality 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. -