cds_lfht_destroy is used from within RCU read-side critical sections
which is only allowed for urcu >= 0.10 (see userspace-rcu commit
d0ec0ed2f).
Such uses were introduced as part of the 2.11 release (contemporary
to urcu 0.10).
This version of the fix differs from
879000628 since the configure
script has changed significantly for the 2.13 release (use of PKG_CONFIG
rather than looking for a version-specific symbol).
The configure script looks for `urcu_memb_barrier` which was introduced
in liburcu 0.11.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I7d8daba877cbdcfaf93cdc4c9b16a3b3df974782
that, the kernel version may probably be older, but we can't provide
any guarantee. Please let us know if you are able to go lower
without any problems.
that, the kernel version may probably be older, but we can't provide
any guarantee. Please let us know if you are able to go lower
without any problems.
- - **[`liburcu`](http://www.liburcu.org/) >= 0.9.0**: userspace RCU library,
+ - **[`liburcu`](http://www.liburcu.org/) >= 0.11.0**: userspace RCU library,
by Mathieu Desnoyers and Paul E. McKenney.
- **`libpopt` >= 1.13**: command line arguments parsing library.
- Debian/Ubuntu package: `libpopt-dev`
by Mathieu Desnoyers and Paul E. McKenney.
- **`libpopt` >= 1.13**: command line arguments parsing library.
- Debian/Ubuntu package: `libpopt-dev`
AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
# URCU library version needed or newer
AC_CHECK_FUNC([clock_gettime], [AC_DEFINE_UNQUOTED([LTTNG_HAVE_CLOCK_GETTIME], 1, [Has clock_gettime() support.])])
# URCU library version needed or newer
-m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.9.0 is needed])
+m4_define([WRONG_LIBURCU_MSG], [Userspace RCU (liburcu) >= 0.11.0 is needed])
# Check liburcu needed function calls
AC_CHECK_DECL([cds_list_add], [],
# Check liburcu needed function calls
AC_CHECK_DECL([cds_list_add], [],
[AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]]
)
[AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu.h>]]
)
-#Function added in urcu 0.9.0
-AC_CHECK_DECL([urcu_ref_get_unless_zero], [],
- [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/ref.h>]]
+#Function added in urcu 0.11.0
+AC_CHECK_DECL([urcu_memb_barrier], [],
+ [AC_MSG_ERROR([WRONG_LIBURCU_MSG])], [[#include <urcu/urcu-memb.h>]]
)
# Check for libkmod, it will be auto-neabled if found but won't fail if it's not,
)
# Check for libkmod, it will be auto-neabled if found but won't fail if it's not,