X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=lib%2Fringbuffer%2Ffrontend_types.h;h=283a254f2a61dccc0725b1d9d03d546838fe1ee4;hb=9a0df743d0ee1aef496b7ca94fdf5308b54c8a36;hp=e8c4c5ce8a4f5dd89da66cce76d5c8af7e66e356;hpb=9115fbdc0d5b0d69b32d3d4d924624fbbe22638e;p=lttng-modules.git diff --git a/lib/ringbuffer/frontend_types.h b/lib/ringbuffer/frontend_types.h index e8c4c5ce..283a254f 100644 --- a/lib/ringbuffer/frontend_types.h +++ b/lib/ringbuffer/frontend_types.h @@ -19,7 +19,8 @@ #include #include "../../wrapper/ringbuffer/config.h" #include "../../wrapper/ringbuffer/backend_types.h" -#include "../../wrapper/prio_heap.h" /* For per-CPU read-side iterator */ +#include "../../wrapper/spinlock.h" +#include "../../lib/prio_heap/lttng_prio_heap.h" /* For per-CPU read-side iterator */ /* * A switch is done during tracing or as a final flush after tracing (so it @@ -30,7 +31,7 @@ enum switch_mode { SWITCH_ACTIVE, SWITCH_FLUSH }; /* channel-level read-side iterator */ struct channel_iter { /* Prio heap of buffers. Lowest timestamps at the top. */ - struct ptr_heap heap; /* Heap of struct lib_ring_buffer ptrs */ + struct lttng_ptr_heap heap; /* Heap of struct lib_ring_buffer ptrs */ struct list_head empty_head; /* Empty buffers linked-list head */ int read_open; /* Opened for reading ? */ u64 last_qs; /* Last quiescent state timestamp */ @@ -62,6 +63,8 @@ struct channel { int cpu_hp_enable:1; /* Enable CPU hotplug notif. */ int hp_iter_enable:1; /* Enable hp iter notif. */ wait_queue_head_t read_wait; /* reader wait queue */ + wait_queue_head_t hp_wait; /* CPU hotplug wait queue */ + int finalized; /* Has channel been finalized */ struct channel_iter iter; /* Channel read-side iterator */ struct kref ref; /* Reference count */ };