projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib ring buffer: use irq_work for wakeup by writer
[lttng-modules.git]
/
include
/
ringbuffer
/
config.h
diff --git
a/include/ringbuffer/config.h
b/include/ringbuffer/config.h
index a17d22024ddc13f0374e6bb7c18ba6ba0b2eaa27..ccb683371cd9ec52176909f59e8a348dbfb01776 100644
(file)
--- a/
include/ringbuffer/config.h
+++ b/
include/ringbuffer/config.h
@@
-101,7
+101,9
@@
struct lib_ring_buffer_client_cb {
*
* RING_BUFFER_WAKEUP_BY_WRITER directly wakes up readers when a subbuffer is
* ready to read. Lower latencies before the reader is woken up. Mainly suitable
*
* RING_BUFFER_WAKEUP_BY_WRITER directly wakes up readers when a subbuffer is
* ready to read. Lower latencies before the reader is woken up. Mainly suitable
- * for drivers.
+ * for drivers. Going through an "irq_work" allows triggering this type of wakeup
+ * even from NMI context: the wakeup will be slightly delayed until the next
+ * interrupts are handled.
*
* RING_BUFFER_WAKEUP_NONE does not perform any wakeup whatsoever. The client
* has the responsibility to perform wakeups.
*
* RING_BUFFER_WAKEUP_NONE does not perform any wakeup whatsoever. The client
* has the responsibility to perform wakeups.
@@
-142,9
+144,8
@@
struct lib_ring_buffer_config {
enum {
RING_BUFFER_WAKEUP_BY_TIMER, /* wake up performed by timer */
RING_BUFFER_WAKEUP_BY_WRITER, /*
enum {
RING_BUFFER_WAKEUP_BY_TIMER, /* wake up performed by timer */
RING_BUFFER_WAKEUP_BY_WRITER, /*
- * writer wakes up reader,
- * not lock-free
- * (takes spinlock).
+ * writer wakes up reader through
+ * irq_work.
*/
} wakeup;
/*
*/
} wakeup;
/*
This page took
0.022634 seconds
and
4
git commands to generate.