Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
session/svm: add want_tx_event flag to fifo
[vpp.git]
/
src
/
svm
/
svm_fifo.h
diff --git
a/src/svm/svm_fifo.h
b/src/svm/svm_fifo.h
index
ec32fd5
..
1ac5b63
100644
(file)
--- a/
src/svm/svm_fifo.h
+++ b/
src/svm/svm_fifo.h
@@
-62,6
+62,7
@@
typedef struct _svm_fifo
u32 segment_manager;
CLIB_CACHE_LINE_ALIGN_MARK (end_shared);
u32 head;
u32 segment_manager;
CLIB_CACHE_LINE_ALIGN_MARK (end_shared);
u32 head;
+ volatile u32 want_tx_evt; /**< producer wants nudge */
CLIB_CACHE_LINE_ALIGN_MARK (end_consumer);
/* producer */
CLIB_CACHE_LINE_ALIGN_MARK (end_consumer);
/* producer */
@@
-169,6
+170,18
@@
svm_fifo_unset_event (svm_fifo_t * f)
__sync_lock_release (&f->has_event);
}
__sync_lock_release (&f->has_event);
}
+static inline void
+svm_fifo_set_want_tx_evt (svm_fifo_t * f, u8 want_evt)
+{
+ f->want_tx_evt = want_evt;
+}
+
+static inline u8
+svm_fifo_want_tx_evt (svm_fifo_t * f)
+{
+ return f->want_tx_evt;
+}
+
svm_fifo_t *svm_fifo_create (u32 data_size_in_bytes);
void svm_fifo_free (svm_fifo_t * f);
svm_fifo_t *svm_fifo_create (u32 data_size_in_bytes);
void svm_fifo_free (svm_fifo_t * f);