From 014dba38cb9579808a2134fd10a071e4f8c4e213 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Wed, 31 Mar 2021 19:36:49 -0700 Subject: svm: lock-free fifo chunk list push and pop This avoids chunk allocation/collection deadlocks if either of the sides crashes. Type: improvement Signed-off-by: Florin Coras Change-Id: I98619e6e035fa8688889ca34db2143c8898732df --- src/svm/fifo_types.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/svm/fifo_types.h') diff --git a/src/svm/fifo_types.h b/src/svm/fifo_types.h index 670fd2aff1a..aa8c3616317 100644 --- a/src/svm/fifo_types.h +++ b/src/svm/fifo_types.h @@ -119,14 +119,12 @@ typedef struct _svm_fifo typedef struct fifo_segment_slice_ { + CLIB_CACHE_LINE_ALIGN_MARK (cacheline); fs_sptr_t free_chunks[FS_CHUNK_VEC_LEN]; /**< Free chunks by size */ fs_sptr_t free_fifos; /**< Freelists of fifo shared hdrs */ uword n_fl_chunk_bytes; /**< Chunk bytes on freelist */ uword virtual_mem; /**< Slice sum of all fifo sizes */ u32 num_chunks[FS_CHUNK_VEC_LEN]; /**< Allocated chunks by chunk size */ - - CLIB_CACHE_LINE_ALIGN_MARK (lock); - u32 chunk_lock; } fifo_segment_slice_t; typedef struct fifo_slice_private_ -- cgit 1.2.3-korg