diff options
author | Florin Coras <fcoras@cisco.com> | 2019-05-11 16:55:53 -0700 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-05-14 18:40:20 +0000 |
commit | f9d4ab42724b260d5c242f7291d05f74cd725d7d (patch) | |
tree | e73966462c7c8ebc36cc2d7f0147ee1f81e4ba25 /src/svm/ssvm.c | |
parent | 0224514c28bdee05ea11a89a721c810e5f99ede2 (diff) |
svm: improve fifo segment prealloc support
- track fifo segment free and chunk freelist memory
- improve fifo alloc. If there are enough chunks to satisfy a fifo
allocation request but not enough free memory, allocate a multi-chunk
fifo
- add apis to preallocate chunks and fifo headers
- more tests
Change-Id: If18dba7ab856272c9f565d36ac36365139793e0b
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/svm/ssvm.c')
-rw-r--r-- | src/svm/ssvm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/svm/ssvm.c b/src/svm/ssvm.c index 3e45175da0e..2a6e6bf78da 100644 --- a/src/svm/ssvm.c +++ b/src/svm/ssvm.c @@ -352,8 +352,8 @@ ssvm_master_init_private (ssvm_private_t * ssvm) u32 rnd_size = 0; u8 *heap; - rnd_size = (ssvm->ssvm_size + (pagesize - 1)) & ~(pagesize - 1); - rnd_size = clib_min (rnd_size, ((u64) 1 << 32) - pagesize); + rnd_size = clib_max (ssvm->ssvm_size + (pagesize - 1), ssvm->ssvm_size); + rnd_size &= ~(pagesize - 1); #if USE_DLMALLOC == 0 { |