X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=README.md;h=6ac06312a46cf58a92cbdcbfb6cc71fd1c3ce302;hb=b0dd3b2579b942971650b228069b3060a4f727ed;hp=8dfd5e96a62ab2cc048e54e26a111bcc7b357894;hpb=466eec5563104024abf9c58a3388717f57d5e221;p=urcu.git diff --git a/README.md b/README.md index 8dfd5e9..6ac0631 100644 --- a/README.md +++ b/README.md @@ -431,14 +431,42 @@ Make targets ------------ In addition to the usual `make check` target, Userspace RCU features -`make regtest` and `make bench` targets: +`make regtest`, `make short_bench` and `make long_bench` targets: - `make check`: short tests, meant to be run when rebuilding or porting Userspace RCU. - `make regtest`: long (many hours) test, meant to be run when modifying Userspace RCU or porting it to a new architecture or operating system. - - `make bench`: long (many hours) benchmarks. + - `make short_bench`: short benchmarks, 3 seconds per test. + - `make long_bench`: long (many hours) benchmarks, 30 seconds per test. + + +Known issues +------------ + +There is an application vs library compatibility issue between +applications built using Userspace RCU 0.10 headers linked against +Userspace RCU 0.11 or 0.12 shared objects. The problem occurs as +follows: + + - An application executable is built with _LGPL_SOURCE defined, includes + any of the Userspace RCU 0.10 urcu flavor headers, and is built + without the -fpic compiler option. + + - The Userspace RCU 0.10 library shared objects are updated to 0.11 + or 0.12 without rebuilding the application. + + - The application will hang, typically when RCU grace period + (synchronize_rcu) is invoked. + +Some possible work-arounds for this are: + + - Rebuild the application against Userspace RCU 0.11+. + + - Rebuild the application with -fpic. + + - Upgrade Userspace RCU to 0.13+ without installing 0.11 nor 0.12. Contacts