*/
#include <urcu/list.h>
+#include <urcu-bp.h>
#include <lttng/tracepoint-types.h>
struct tracepoint_lib {
struct cds_list_head list;
- struct tracepoint tracepoints_start;
+ struct tracepoint * const *tracepoints_start;
int tracepoints_count;
};
struct tracepoint_iter {
struct tracepoint_lib *lib;
struct tracepoint * const *tracepoint;
+};
extern int tracepoint_probe_register_noupdate(const char *name, void *callback, void *priv);
extern int tracepoint_probe_unregister_noupdate(const char *name, void *callback, void *priv);
-extern int tracepoint_probe_update_all(void);
+extern void tracepoint_probe_update_all(void);
extern void tracepoint_iter_start(struct tracepoint_iter *iter);
extern void tracepoint_iter_next(struct tracepoint_iter *iter);
*/
static inline void tracepoint_synchronize_unregister(void)
{
- synchronize_rcu();
+ synchronize_rcu_bp();
}
extern void init_tracepoint(void);