X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fringbuffer%2Ffrontend_types.h;h=9cfde8fa328823a38463ba42ef9213f6277a6a70;hb=refs%2Fheads%2Fsow-2019-0002-rev1;hp=0d340afb50b3de8f32b9519823fe817ac2c242a2;hpb=721caea47b6506f7ad9086c3e9801dc9dfe06b6a;p=deliverable%2Flttng-modules.git diff --git a/lib/ringbuffer/frontend_types.h b/lib/ringbuffer/frontend_types.h index 0d340afb..9cfde8fa 100644 --- a/lib/ringbuffer/frontend_types.h +++ b/lib/ringbuffer/frontend_types.h @@ -13,6 +13,7 @@ #define _LIB_RING_BUFFER_FRONTEND_TYPES_H #include +#include #include #include #include /* For per-CPU read-side iterator */ @@ -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 */