summaryrefslogtreecommitdiffstats
path: root/src/svm
diff options
context:
space:
mode:
authorDave Barach <dbarach@cisco.com>2017-05-16 17:41:34 -0400
committerFlorin Coras <florin.coras@gmail.com>2017-05-17 04:52:46 +0000
commitacd2a6a32cebab70a054e9335e446798538d0524 (patch)
treea1202b3b20ae022894af6ceb9bd09a2ecb98f972 /src/svm
parentd5b6aa139856a1447f7bc5377058202110eaa4cf (diff)
VPP-846: tcp perf / scale / hardening
Fix builtin server event queue handling Change-Id: I21b49c37188746cadb2fd9423291c5dc1335798c Signed-off-by: Dave Barach <dbarach@cisco.com>
Diffstat (limited to 'src/svm')
-rw-r--r--src/svm/svm_fifo.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/svm/svm_fifo.h b/src/svm/svm_fifo.h
index 36158dc5db7..693691639ba 100644
--- a/src/svm/svm_fifo.h
+++ b/src/svm/svm_fifo.h
@@ -44,7 +44,7 @@ typedef struct
u32 nitems;
CLIB_CACHE_LINE_ALIGN_MARK (end_cursize);
- volatile u8 has_event; /**< non-zero if deq event exists */
+ volatile u32 has_event; /**< non-zero if deq event exists */
/* Backpointers */
u32 master_session_index;
@@ -103,7 +103,7 @@ always_inline void
svm_fifo_unset_event (svm_fifo_t * f)
{
/* Probably doesn't need to be atomic. Still, better avoid surprises */
- __sync_lock_test_and_set (&f->has_event, 0);
+ __sync_lock_release (&f->has_event);
}
svm_fifo_t *svm_fifo_create (u32 data_size_in_bytes);