X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=include%2Fringbuffer%2Ffrontend_types.h;h=97fe3582ed2ad38a29dd140b4e69a1c80d856726;hb=8a57ec025ffbe56153748fd69b60118862707182;hp=b04c085b63b222f5a63700141e939a857b19d791;hpb=2459130397d7e7eecc44a5f06a39d65c78257eef;p=lttng-modules.git diff --git a/include/ringbuffer/frontend_types.h b/include/ringbuffer/frontend_types.h index b04c085b..97fe3582 100644 --- a/include/ringbuffer/frontend_types.h +++ b/include/ringbuffer/frontend_types.h @@ -13,10 +13,11 @@ #define _LIB_RING_BUFFER_FRONTEND_TYPES_H #include +#include #include #include -#include /* For per-CPU read-side iterator */ -#include +#include /* For per-CPU read-side iterator */ +#include /* * A switch is done during tracing or as a final flush after tracing (so it @@ -53,7 +54,7 @@ struct channel { unsigned long switch_timer_interval; /* Buffer flush (jiffies) */ unsigned long read_timer_interval; /* Reader wakeup (jiffies) */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) struct lttng_cpuhp_node cpuhp_prepare; struct lttng_cpuhp_node cpuhp_online; struct lttng_cpuhp_node cpuhp_iter_online; @@ -66,6 +67,7 @@ struct channel { struct notifier_block tick_nohz_notifier; /* CPU nohz notifier */ wait_queue_head_t read_wait; /* reader wait queue */ wait_queue_head_t hp_wait; /* CPU hotplug wait queue */ + struct irq_work wakeup_pending; /* Pending wakeup irq work */ int finalized; /* Has channel been finalized */ struct channel_iter iter; /* Channel read-side iterator */ struct kref ref; /* Reference count */ @@ -146,6 +148,7 @@ struct lib_ring_buffer { union v_atomic records_overrun; /* Number of overwritten records */ wait_queue_head_t read_wait; /* reader buffer-level wait queue */ wait_queue_head_t write_wait; /* writer buffer-level wait queue (for metadata only) */ + struct irq_work wakeup_pending; /* Pending wakeup irq work */ int finalized; /* buffer has been finalized */ struct timer_list switch_timer; /* timer for periodical switch */ struct timer_list read_timer; /* timer for read poll */