])
# urcu - check that URCU lib is available to compilation
-AC_CHECK_LIB([urcu-bp], [synchronize_rcu_bp], [], [AC_MSG_ERROR([Cannot find liburcu-bp lib. Use [LDFLAGS]=-Ldir to specify its location.])])
+AC_CHECK_LIB([urcu-bp], [urcu_bp_synchronize_rcu], [], [AC_MSG_ERROR([Cannot find liburcu-bp 0.11 or newer. Use [LDFLAGS]=-Ldir to specify its location.])])
-# urcu - check that URCU lib is at least version 0.6
-AC_CHECK_LIB([urcu-bp], [call_rcu_bp], [], [AC_MSG_ERROR([liburcu 0.6 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])])
+# urcu - check that URCU lib is at least version 0.11
+AC_CHECK_LIB([urcu-bp], [urcu_bp_call_rcu], [], [AC_MSG_ERROR([liburcu 0.11 or newer is needed, please update your version or use [LDFLAGS]=-Ldir to specify the right location.])])
# numa.h integration
AS_IF([test "x$NO_NUMA" = "x1"],[
#ifdef _LGPL_SOURCE
-#include <urcu-bp.h>
+#include <urcu/urcu-bp.h>
-#define tp_rcu_read_lock_bp rcu_read_lock_bp
-#define tp_rcu_read_unlock_bp rcu_read_unlock_bp
+#define tp_rcu_read_lock_bp urcu_bp_read_lock
+#define tp_rcu_read_unlock_bp urcu_bp_read_unlock
#define tp_rcu_dereference_bp rcu_dereference
#define TP_RCU_LINK_TEST() 1
pthread_mutex_lock(&ust_fork_mutex);
ust_lock_nocheck();
- rcu_bp_before_fork();
+ urcu_bp_before_fork();
}
static void ust_after_fork_common(sigset_t *restore_sigset)
if (URCU_TLS(lttng_ust_nest_count))
return;
DBG("process %d", getpid());
- rcu_bp_after_fork_parent();
+ urcu_bp_after_fork_parent();
/* Release mutexes and reenable signals */
ust_after_fork_common(restore_sigset);
}
lttng_context_procname_reset();
DBG("process %d", getpid());
/* Release urcu mutexes */
- rcu_bp_after_fork_child();
+ urcu_bp_after_fork_child();
lttng_ust_cleanup(0);
/* Release mutexes and reenable signals */
ust_after_fork_common(restore_sigset);
*/
static inline void tracepoint_synchronize_unregister(void)
{
- synchronize_rcu_bp();
+ urcu_bp_synchronize_rcu();
}
extern void init_tracepoint(void);
#include <stdio.h>
#include <urcu/arch.h>
-#include <urcu-bp.h>
+#include <urcu/urcu-bp.h>
#include <urcu/hlist.h>
#include <urcu/uatomic.h>
#include <urcu/compiler.h>
if (old) {
struct tp_probes *tp_probes = caa_container_of(old,
struct tp_probes, probes[0]);
- synchronize_rcu();
+ urcu_bp_synchronize_rcu();
free(tp_probes);
}
}
release_queue_need_update = 0;
/* Wait for grace period between all sync_callsites and free. */
- synchronize_rcu();
+ urcu_bp_synchronize_rcu();
cds_list_for_each_entry_safe(pos, next, &release_probes, u.list) {
cds_list_del(&pos->u.list);
tracepoint_update_probes();
/* Wait for grace period between update_probes and free. */
- synchronize_rcu();
+ urcu_bp_synchronize_rcu();
cds_list_for_each_entry_safe(pos, next, &release_probes, u.list) {
cds_list_del(&pos->u.list);
free(pos);
void tp_rcu_read_lock_bp(void)
{
- rcu_read_lock_bp();
+ urcu_bp_read_lock();
}
void tp_rcu_read_unlock_bp(void)
{
- rcu_read_unlock_bp();
+ urcu_bp_read_unlock();
}
void *tp_rcu_dereference_sym_bp(void *p)
{
- return rcu_dereference_bp(p);
+ return urcu_bp_dereference(p);
}
/*