diff options
author | Dave Barach <dave@barachs.net> | 2018-08-08 09:09:05 -0400 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2018-10-24 15:21:31 +0000 |
commit | 71615399e194847d7833b744caedab9b841733e5 (patch) | |
tree | 08462c00b7036506abf696b08f05e363b2939bcf /src/vlib | |
parent | 70f28fc4b83fee72a1e2a17f5f898af83b4fb39c (diff) |
Keep RPC traffic off the shared-memory API queue
Change-Id: Ib5c346641463768cf33eaf8cb5fab5b63171398d
Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'src/vlib')
-rw-r--r-- | src/vlib/main.h | 1 | ||||
-rw-r--r-- | src/vlib/threads.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/vlib/main.h b/src/vlib/main.h index 7c34fb6528d..64f2859c055 100644 --- a/src/vlib/main.h +++ b/src/vlib/main.h @@ -209,6 +209,7 @@ typedef struct vlib_main_t /* Vector of pending RPC requests */ uword *pending_rpc_requests; + clib_spinlock_t pending_rpc_lock; } vlib_main_t; diff --git a/src/vlib/threads.c b/src/vlib/threads.c index c99458ddaec..7ecfa309378 100644 --- a/src/vlib/threads.c +++ b/src/vlib/threads.c @@ -699,6 +699,9 @@ start_workers (vlib_main_t * vm) vlib_worker_threads->node_reforks_required = clib_mem_alloc_aligned (sizeof (u32), CLIB_CACHE_LINE_BYTES); + /* We'll need the rpc vector lock... */ + clib_spinlock_init (&vm->pending_rpc_lock); + /* Ask for an initial barrier sync */ *vlib_worker_threads->workers_at_barrier = 0; *vlib_worker_threads->wait_at_barrier = 1; |