vppinfra: vector allocator rework
- support of in-place growth of vectors (if there is available space next to existing alloc) - drops the need for alloc_aligned_at_offset from memory allocator, which allows easier swap to different memory allocator and reduces malloc overhead - rework of pool and vec macros to inline functions to improve debuggability - fix alignment - in many cases macros were not using native alignment of the particular datatype. Explicitly setting alignment with XXX_aligned() versions of the macro is not needed anymore in > 99% of cases - fix ASAN usage - avoid use of vector of voids, this was root cause of several bugs found in vec_* and pool_* function where sizeof() was used on voids instead of real vector data type - introduce minimal alignment which is currently 8 bytes, vectors will be always aligned at least to that value (underlay allocator actually always provide 16-byte aligned allocs) Type: improvement Change-Id: I20f4b081bb13bbf7bc0ace85cc4e301787f12fdf Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:

committed by
Florin Coras

parent
9539647b89
commit
299571aca3
@ -69,7 +69,7 @@ realloc(void *p, size_t size)
|
||||
if (!check_vpp_heap ())
|
||||
return __libc_realloc (p, size);
|
||||
|
||||
return clib_mem_realloc (p, size, clib_mem_size (p));
|
||||
return clib_mem_realloc (p, size);
|
||||
}
|
||||
|
||||
int
|
||||
|
Reference in New Issue
Block a user