4 extern void * __libc_malloc (
size_t);
5 extern void __libc_free (
void *);
6 extern void * __libc_calloc (
size_t,
size_t);
7 extern void * __libc_realloc (
void *,
size_t);
8 extern void * __libc_valloc (
size_t);
9 extern void * __libc_memalign (
size_t,
size_t);
10 extern void * __libc_pvalloc (
size_t);
19 fprintf (stderr,
"vpp mem: libc allocation requested but no vpp heap ready, defaulting to libc.\n");
36 return __libc_malloc (size);
48 return __libc_free (p);
59 return __libc_calloc (nmemb, size);
70 return __libc_realloc (p, size);
79 *memptr = __libc_memalign (alignment, size);
89 return __libc_memalign (alignment, size);
98 return __libc_valloc (size);
106 return __libc_memalign (alignment, size);
117 return __libc_pvalloc (size);
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
static void * clib_mem_realloc(void *p, uword new_size, uword old_size)
static_always_inline uword clib_mem_get_page_size(void)
#define static_always_inline
void * memalign(size_t alignment, size_t size)
static clib_mem_heap_t * clib_mem_get_per_cpu_heap(void)
void * malloc(size_t size)
void * pvalloc(size_t size)
static void no_heap(void)
__thread u64 vpp_mem_no_vpp_heap
static uword clib_mem_size(void *p)
int posix_memalign(void **memptr, size_t alignment, size_t size)
static uword round_pow2(uword x, uword pow2)
static void clib_mem_free(void *p)
static void * clib_mem_alloc(uword size)
void * realloc(void *p, size_t size)
static_always_inline int check_vpp_heap(void)
void * calloc(size_t nmemb, size_t size)
void * valloc(size_t size)
static void * clib_mem_alloc_aligned(uword size, uword align)
void * aligned_alloc(size_t alignment, size_t size)