Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
teib: Rename NHRP to TEIB
[vpp.git]
/
src
/
svm
/
ssvm.c
diff --git
a/src/svm/ssvm.c
b/src/svm/ssvm.c
index
feba7f9
..
69463b1
100644
(file)
--- a/
src/svm/ssvm.c
+++ b/
src/svm/ssvm.c
@@
-347,9
+347,8
@@
ssvm_delete_memfd (ssvm_private_t * memfd)
int
ssvm_master_init_private (ssvm_private_t * ssvm)
{
int
ssvm_master_init_private (ssvm_private_t * ssvm)
{
+ uword pagesize = clib_mem_get_page_size (), rnd_size = 0;
ssvm_shared_header_t *sh;
ssvm_shared_header_t *sh;
- u32 pagesize = clib_mem_get_page_size ();
- u32 rnd_size = 0;
u8 *heap;
rnd_size = clib_max (ssvm->ssvm_size + (pagesize - 1), ssvm->ssvm_size);
u8 *heap;
rnd_size = clib_max (ssvm->ssvm_size + (pagesize - 1), ssvm->ssvm_size);
@@
-377,6
+376,11
@@
ssvm_master_init_private (ssvm_private_t * ssvm)
}
mspace_disable_expand (heap);
}
mspace_disable_expand (heap);
+
+ /* Find actual size because mspace size is rounded up by dlmalloc */
+ struct dlmallinfo dlminfo;
+ dlminfo = mspace_mallinfo (heap);
+ rnd_size = dlminfo.fordblks;
#endif
ssvm->ssvm_size = rnd_size;
#endif
ssvm->ssvm_size = rnd_size;
@@
-390,6
+394,7
@@
ssvm_master_init_private (ssvm_private_t * ssvm)
clib_memset (sh, 0, sizeof (*sh));
sh->heap = heap;
clib_memset (sh, 0, sizeof (*sh));
sh->heap = heap;
+ sh->ssvm_size = rnd_size;
sh->ssvm_va = pointer_to_uword (heap);
sh->type = SSVM_SEGMENT_PRIVATE;
sh->name = ssvm->name;
sh->ssvm_va = pointer_to_uword (heap);
sh->type = SSVM_SEGMENT_PRIVATE;
sh->name = ssvm->name;