FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
mem.h File Reference
+ Include dependency graph for mem.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  clib_mem_heap_t
 
struct  clib_mem_main_t
 
struct  clib_mem_usage_t
 
struct  clib_mem_page_stats_t
 

Macros

#define CLIB_MAX_MHEAPS   256
 
#define CLIB_MAX_NUMAS   16
 
#define CLIB_MEM_VM_MAP_FAILED   ((void *) ~0)
 
#define CLIB_MEM_ERROR   (-1)
 
#define CLIB_VM_MAP_HDR_NAME_MAX_LEN   64
 
#define foreach_clib_mem_heap_flag
 
#define VEC_NUMA_UNSPECIFIED   (0xFF)
 
#define clib_mem_alloc_aligned_no_fail(size, align)
 
#define clib_mem_alloc_no_fail(size)   clib_mem_alloc_aligned_no_fail(size,1)
 
#define clib_mem_alloc_stack(bytes)   __builtin_alloca(bytes)
 

Typedefs

typedef struct _clib_mem_vm_map_hdr clib_mem_vm_map_hdr_t
 
typedef void * clib_mem_bulk_handle_t
 

Enumerations

enum  clib_mem_page_sz_t {
  CLIB_MEM_PAGE_SZ_UNKNOWN = 0, CLIB_MEM_PAGE_SZ_DEFAULT = 1, CLIB_MEM_PAGE_SZ_DEFAULT_HUGE = 2, CLIB_MEM_PAGE_SZ_4K = 12,
  CLIB_MEM_PAGE_SZ_16K = 14, CLIB_MEM_PAGE_SZ_64K = 16, CLIB_MEM_PAGE_SZ_1M = 20, CLIB_MEM_PAGE_SZ_2M = 21,
  CLIB_MEM_PAGE_SZ_16M = 24, CLIB_MEM_PAGE_SZ_32M = 25, CLIB_MEM_PAGE_SZ_512M = 29, CLIB_MEM_PAGE_SZ_1G = 30,
  CLIB_MEM_PAGE_SZ_16G = 34
}
 
enum  clib_mem_heap_flag_t { foreach_clib_mem_heap_flag }
 

Functions

static clib_mem_heap_tclib_mem_get_per_cpu_heap (void)
 
static void * clib_mem_set_per_cpu_heap (void *new_heap)
 
static void * clib_mem_get_per_numa_heap (u32 numa_id)
 
static void * clib_mem_set_per_numa_heap (void *new_heap)
 
static void clib_mem_set_thread_index (void)
 
static uword clib_mem_size_nocheck (void *p)
 
static void * clib_mem_alloc_aligned_at_offset (uword size, uword align, uword align_offset, int os_out_of_memory_on_failure)
 
static void * clib_mem_alloc (uword size)
 
static void * clib_mem_alloc_aligned (uword size, uword align)
 
static void * clib_mem_alloc_or_null (uword size)
 
static void * clib_mem_alloc_aligned_or_null (uword size, uword align)
 
static uword clib_mem_is_heap_object (void *p)
 
static void clib_mem_free (void *p)
 
static void * clib_mem_realloc (void *p, uword new_size, uword old_size)
 
static uword clib_mem_size (void *p)
 
static void clib_mem_free_s (void *p)
 
static clib_mem_heap_tclib_mem_get_heap (void)
 
static clib_mem_heap_tclib_mem_set_heap (clib_mem_heap_t *heap)
 
void clib_mem_destroy_heap (clib_mem_heap_t *heap)
 
clib_mem_heap_tclib_mem_create_heap (void *base, uword size, int is_locked, char *fmt,...)
 
void clib_mem_main_init ()
 
void * clib_mem_init (void *base, uword size)
 
void * clib_mem_init_with_page_size (uword memory_size, clib_mem_page_sz_t log2_page_sz)
 
void * clib_mem_init_thread_safe (void *memory, uword memory_size)
 
void clib_mem_exit (void)
 
void clib_mem_trace (int enable)
 
int clib_mem_is_traced (void)
 
void clib_mem_get_heap_usage (clib_mem_heap_t *heap, clib_mem_usage_t *usage)
 
void * clib_mem_get_heap_base (clib_mem_heap_t *heap)
 
uword clib_mem_get_heap_size (clib_mem_heap_t *heap)
 
uword clib_mem_get_heap_free_space (clib_mem_heap_t *heap)
 
u8format_clib_mem_usage (u8 *s, va_list *args)
 
u8format_clib_mem_heap (u8 *s, va_list *va)
 
u8format_clib_mem_page_stats (u8 *s, va_list *va)
 
static void * clib_mem_vm_alloc (uword size)
 
static void clib_mem_vm_free (void *addr, uword size)
 
void * clib_mem_vm_map_internal (void *base, clib_mem_page_sz_t log2_page_sz, uword size, int fd, uword offset, char *name)
 
void * clib_mem_vm_map (void *start, uword size, clib_mem_page_sz_t log2_page_size, char *fmt,...)
 
void * clib_mem_vm_map_stack (uword size, clib_mem_page_sz_t log2_page_size, char *fmt,...)
 
void * clib_mem_vm_map_shared (void *start, uword size, int fd, uword offset, char *fmt,...)
 
int clib_mem_vm_unmap (void *base)
 
clib_mem_vm_map_hdr_tclib_mem_vm_get_next_map_hdr (clib_mem_vm_map_hdr_t *hdr)
 
static_always_inline clib_mem_page_sz_t clib_mem_get_log2_page_size (void)
 
static_always_inline uword clib_mem_get_page_size (void)
 
static_always_inline clib_mem_page_sz_t clib_mem_get_log2_default_hugepage_size ()
 
int clib_mem_vm_create_fd (clib_mem_page_sz_t log2_page_size, char *fmt,...)
 
uword clib_mem_get_fd_page_size (int fd)
 
uword clib_mem_get_default_hugepage_size (void)
 
clib_mem_page_sz_t clib_mem_get_fd_log2_page_size (int fd)
 
uword clib_mem_vm_reserve (uword start, uword size, clib_mem_page_sz_t log2_page_sz)
 
u64clib_mem_vm_get_paddr (void *mem, clib_mem_page_sz_t log2_page_size, int n_pages)
 
void clib_mem_destroy (void)
 
int clib_mem_set_numa_affinity (u8 numa_node, int force)
 
int clib_mem_set_default_numa_affinity ()
 
void clib_mem_vm_randomize_va (uword *requested_va, clib_mem_page_sz_t log2_page_size)
 
void mheap_trace (clib_mem_heap_t *v, int enable)
 
uword clib_mem_trace_enable_disable (uword enable)
 
static uword clib_mem_round_to_page_size (uword size, clib_mem_page_sz_t log2_page_size)
 
void clib_mem_get_page_stats (void *start, clib_mem_page_sz_t log2_page_size, uword n_pages, clib_mem_page_stats_t *stats)
 
static_always_inline int vlib_mem_get_next_numa_node (int numa)
 
static_always_inline clib_mem_page_sz_t clib_mem_log2_page_size_validate (clib_mem_page_sz_t log2_page_size)
 
static_always_inline uword clib_mem_page_bytes (clib_mem_page_sz_t log2_page_size)
 
static_always_inline clib_error_tclib_mem_get_last_error (void)
 
clib_mem_bulk_handle_t clib_mem_bulk_init (u32 elt_sz, u32 align, u32 min_elts_per_chunk)
 
void clib_mem_bulk_destroy (clib_mem_bulk_handle_t h)
 
void * clib_mem_bulk_alloc (clib_mem_bulk_handle_t h)
 
void clib_mem_bulk_free (clib_mem_bulk_handle_t h, void *p)
 
u8format_clib_mem_bulk (u8 *s, va_list *args)
 

Variables

clib_mem_main_t clib_mem_main
 

Macro Definition Documentation

◆ CLIB_MAX_MHEAPS

#define CLIB_MAX_MHEAPS   256

Definition at line 52 of file mem.h.

◆ CLIB_MAX_NUMAS

#define CLIB_MAX_NUMAS   16

Definition at line 53 of file mem.h.

◆ clib_mem_alloc_aligned_no_fail

#define clib_mem_alloc_aligned_no_fail (   size,
  align 
)
Value:
({ \
uword _clib_mem_alloc_size = (size); \
void * _clib_mem_alloc_p; \
_clib_mem_alloc_p = clib_mem_alloc_aligned (_clib_mem_alloc_size, (align)); \
if (! _clib_mem_alloc_p) \
clib_panic ("failed to allocate %d bytes", _clib_mem_alloc_size); \
_clib_mem_alloc_p; \
})

Definition at line 287 of file mem.h.

◆ clib_mem_alloc_no_fail

#define clib_mem_alloc_no_fail (   size)    clib_mem_alloc_aligned_no_fail(size,1)

Definition at line 297 of file mem.h.

◆ clib_mem_alloc_stack

#define clib_mem_alloc_stack (   bytes)    __builtin_alloca(bytes)

Definition at line 300 of file mem.h.

◆ CLIB_MEM_ERROR

#define CLIB_MEM_ERROR   (-1)

Definition at line 55 of file mem.h.

◆ CLIB_MEM_VM_MAP_FAILED

#define CLIB_MEM_VM_MAP_FAILED   ((void *) ~0)

Definition at line 54 of file mem.h.

◆ CLIB_VM_MAP_HDR_NAME_MAX_LEN

#define CLIB_VM_MAP_HDR_NAME_MAX_LEN   64

Definition at line 89 of file mem.h.

◆ foreach_clib_mem_heap_flag

#define foreach_clib_mem_heap_flag
Value:
_(0, LOCKED, "locked") \
_(1, UNMAP_ON_DESTROY, "unmap-on-destroy")

Definition at line 96 of file mem.h.

◆ VEC_NUMA_UNSPECIFIED

#define VEC_NUMA_UNSPECIFIED   (0xFF)

Definition at line 158 of file mem.h.

Typedef Documentation

◆ clib_mem_bulk_handle_t

typedef void* clib_mem_bulk_handle_t

Definition at line 560 of file mem.h.

◆ clib_mem_vm_map_hdr_t

typedef struct _clib_mem_vm_map_hdr clib_mem_vm_map_hdr_t

Enumeration Type Documentation

◆ clib_mem_heap_flag_t

Enumerator
foreach_clib_mem_heap_flag 

Definition at line 100 of file mem.h.

◆ clib_mem_page_sz_t

Enumerator
CLIB_MEM_PAGE_SZ_UNKNOWN 
CLIB_MEM_PAGE_SZ_DEFAULT 
CLIB_MEM_PAGE_SZ_DEFAULT_HUGE 
CLIB_MEM_PAGE_SZ_4K 
CLIB_MEM_PAGE_SZ_16K 
CLIB_MEM_PAGE_SZ_64K 
CLIB_MEM_PAGE_SZ_1M 
CLIB_MEM_PAGE_SZ_2M 
CLIB_MEM_PAGE_SZ_16M 
CLIB_MEM_PAGE_SZ_32M 
CLIB_MEM_PAGE_SZ_512M 
CLIB_MEM_PAGE_SZ_1G 
CLIB_MEM_PAGE_SZ_16G 

Definition at line 57 of file mem.h.

Function Documentation

◆ clib_mem_alloc()

static void* clib_mem_alloc ( uword  size)
inlinestatic

Definition at line 253 of file mem.h.

+ Here is the call graph for this function:

◆ clib_mem_alloc_aligned()

static void* clib_mem_alloc_aligned ( uword  size,
uword  align 
)
inlinestatic

Definition at line 261 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_alloc_aligned_at_offset()

static void* clib_mem_alloc_aligned_at_offset ( uword  size,
uword  align,
uword  align_offset,
int  os_out_of_memory_on_failure 
)
inlinestatic

Definition at line 222 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_alloc_aligned_or_null()

static void* clib_mem_alloc_aligned_or_null ( uword  size,
uword  align 
)
inlinestatic

Definition at line 277 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_alloc_or_null()

static void* clib_mem_alloc_or_null ( uword  size)
inlinestatic

Definition at line 269 of file mem.h.

+ Here is the call graph for this function:

◆ clib_mem_bulk_alloc()

void* clib_mem_bulk_alloc ( clib_mem_bulk_handle_t  h)

Definition at line 141 of file mem_bulk.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_bulk_destroy()

void clib_mem_bulk_destroy ( clib_mem_bulk_handle_t  h)

Definition at line 83 of file mem_bulk.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_bulk_free()

void clib_mem_bulk_free ( clib_mem_bulk_handle_t  h,
void *  p 
)

Definition at line 179 of file mem_bulk.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_bulk_init()

clib_mem_bulk_handle_t clib_mem_bulk_init ( u32  elt_sz,
u32  align,
u32  min_elts_per_chunk 
)

Definition at line 54 of file mem_bulk.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_create_heap()

clib_mem_heap_t* clib_mem_create_heap ( void *  base,
uword  size,
int  is_locked,
char *  fmt,
  ... 
)

Definition at line 536 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_destroy()

void clib_mem_destroy ( void  )

Definition at line 287 of file mem_dlmalloc.c.

+ Here is the call graph for this function:

◆ clib_mem_destroy_heap()

void clib_mem_destroy_heap ( clib_mem_heap_t heap)

Definition at line 566 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_exit()

void clib_mem_exit ( void  )

◆ clib_mem_free()

static void clib_mem_free ( void *  p)
inlinestatic

Definition at line 311 of file mem.h.

+ Here is the call graph for this function:

◆ clib_mem_free_s()

static void clib_mem_free_s ( void *  p)
inlinestatic

Definition at line 350 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_default_hugepage_size()

uword clib_mem_get_default_hugepage_size ( void  )

Definition at line 79 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_fd_log2_page_size()

clib_mem_page_sz_t clib_mem_get_fd_log2_page_size ( int  fd)

Definition at line 189 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_fd_page_size()

uword clib_mem_get_fd_page_size ( int  fd)

Definition at line 180 of file mem.c.

+ Here is the caller graph for this function:

◆ clib_mem_get_heap()

static clib_mem_heap_t* clib_mem_get_heap ( void  )
inlinestatic

Definition at line 359 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_heap_base()

void* clib_mem_get_heap_base ( clib_mem_heap_t heap)

Definition at line 586 of file mem_dlmalloc.c.

+ Here is the caller graph for this function:

◆ clib_mem_get_heap_free_space()

uword clib_mem_get_heap_free_space ( clib_mem_heap_t heap)

Definition at line 579 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_heap_size()

uword clib_mem_get_heap_size ( clib_mem_heap_t heap)

Definition at line 592 of file mem_dlmalloc.c.

◆ clib_mem_get_heap_usage()

void clib_mem_get_heap_usage ( clib_mem_heap_t heap,
clib_mem_usage_t usage 
)

Definition at line 473 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_last_error()

static_always_inline clib_error_t* clib_mem_get_last_error ( void  )

Definition at line 553 of file mem.h.

+ Here is the caller graph for this function:

◆ clib_mem_get_log2_default_hugepage_size()

static_always_inline clib_mem_page_sz_t clib_mem_get_log2_default_hugepage_size ( )

Definition at line 474 of file mem.h.

+ Here is the caller graph for this function:

◆ clib_mem_get_log2_page_size()

static_always_inline clib_mem_page_sz_t clib_mem_get_log2_page_size ( void  )

Definition at line 462 of file mem.h.

+ Here is the caller graph for this function:

◆ clib_mem_get_page_size()

static_always_inline uword clib_mem_get_page_size ( void  )

Definition at line 468 of file mem.h.

+ Here is the caller graph for this function:

◆ clib_mem_get_page_stats()

void clib_mem_get_page_stats ( void *  start,
clib_mem_page_sz_t  log2_page_size,
uword  n_pages,
clib_mem_page_stats_t stats 
)

Definition at line 552 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_per_cpu_heap()

static clib_mem_heap_t* clib_mem_get_per_cpu_heap ( void  )
inlinestatic

Definition at line 161 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_get_per_numa_heap()

static void* clib_mem_get_per_numa_heap ( u32  numa_id)
inlinestatic

Definition at line 177 of file mem.h.

◆ clib_mem_init()

void* clib_mem_init ( void *  base,
uword  size 
)

Definition at line 266 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_init_thread_safe()

void* clib_mem_init_thread_safe ( void *  memory,
uword  memory_size 
)

Definition at line 280 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_init_with_page_size()

void* clib_mem_init_with_page_size ( uword  memory_size,
clib_mem_page_sz_t  log2_page_sz 
)

Definition at line 273 of file mem_dlmalloc.c.

+ Here is the call graph for this function:

◆ clib_mem_is_heap_object()

static uword clib_mem_is_heap_object ( void *  p)
inlinestatic

Definition at line 303 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_is_traced()

int clib_mem_is_traced ( void  )

Definition at line 518 of file mem_dlmalloc.c.

+ Here is the call graph for this function:

◆ clib_mem_log2_page_size_validate()

static_always_inline clib_mem_page_sz_t clib_mem_log2_page_size_validate ( clib_mem_page_sz_t  log2_page_size)

Definition at line 537 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_main_init()

void clib_mem_main_init ( )

Definition at line 136 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_page_bytes()

static_always_inline uword clib_mem_page_bytes ( clib_mem_page_sz_t  log2_page_size)

Definition at line 547 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_realloc()

static void* clib_mem_realloc ( void *  p,
uword  new_size,
uword  old_size 
)
inlinestatic

Definition at line 325 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_round_to_page_size()

static uword clib_mem_round_to_page_size ( uword  size,
clib_mem_page_sz_t  log2_page_size 
)
inlinestatic

Definition at line 497 of file mem.h.

+ Here is the call graph for this function:

◆ clib_mem_set_default_numa_affinity()

int clib_mem_set_default_numa_affinity ( )

Definition at line 674 of file mem.c.

+ Here is the caller graph for this function:

◆ clib_mem_set_heap()

static clib_mem_heap_t* clib_mem_set_heap ( clib_mem_heap_t heap)
inlinestatic

Definition at line 365 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_set_numa_affinity()

int clib_mem_set_numa_affinity ( u8  numa_node,
int  force 
)

Definition at line 638 of file mem.c.

+ Here is the caller graph for this function:

◆ clib_mem_set_per_cpu_heap()

static void* clib_mem_set_per_cpu_heap ( void *  new_heap)
inlinestatic

Definition at line 168 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_set_per_numa_heap()

static void* clib_mem_set_per_numa_heap ( void *  new_heap)
inlinestatic

Definition at line 184 of file mem.h.

+ Here is the call graph for this function:

◆ clib_mem_set_thread_index()

static void clib_mem_set_thread_index ( void  )
inlinestatic

Definition at line 193 of file mem.h.

+ Here is the caller graph for this function:

◆ clib_mem_size()

static uword clib_mem_size ( void *  p)
inlinestatic

Definition at line 343 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_size_nocheck()

static uword clib_mem_size_nocheck ( void *  p)
inlinestatic

Definition at line 214 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_trace()

void clib_mem_trace ( int  enable)

Definition at line 503 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_trace_enable_disable()

uword clib_mem_trace_enable_disable ( uword  enable)

Definition at line 525 of file mem_dlmalloc.c.

+ Here is the caller graph for this function:

◆ clib_mem_vm_alloc()

static void* clib_mem_vm_alloc ( uword  size)
inlinestatic

Definition at line 424 of file mem.h.

+ Here is the caller graph for this function:

◆ clib_mem_vm_create_fd()

int clib_mem_vm_create_fd ( clib_mem_page_sz_t  log2_page_size,
char *  fmt,
  ... 
)

Definition at line 263 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_free()

static void clib_mem_vm_free ( void *  addr,
uword  size 
)
inlinestatic

Definition at line 443 of file mem.h.

+ Here is the caller graph for this function:

◆ clib_mem_vm_get_next_map_hdr()

clib_mem_vm_map_hdr_t* clib_mem_vm_get_next_map_hdr ( clib_mem_vm_map_hdr_t hdr)

Definition at line 387 of file mem.c.

+ Here is the caller graph for this function:

◆ clib_mem_vm_get_paddr()

u64* clib_mem_vm_get_paddr ( void *  mem,
clib_mem_page_sz_t  log2_page_size,
int  n_pages 
)

Definition at line 596 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_map()

void* clib_mem_vm_map ( void *  start,
uword  size,
clib_mem_page_sz_t  log2_page_size,
char *  fmt,
  ... 
)

Definition at line 25 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_map_internal()

void* clib_mem_vm_map_internal ( void *  base,
clib_mem_page_sz_t  log2_page_sz,
uword  size,
int  fd,
uword  offset,
char *  name 
)

Definition at line 407 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_map_shared()

void* clib_mem_vm_map_shared ( void *  start,
uword  size,
int  fd,
uword  offset,
char *  fmt,
  ... 
)

Definition at line 59 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_map_stack()

void* clib_mem_vm_map_stack ( uword  size,
clib_mem_page_sz_t  log2_page_size,
char *  fmt,
  ... 
)

Definition at line 42 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_randomize_va()

void clib_mem_vm_randomize_va ( uword requested_va,
clib_mem_page_sz_t  log2_page_size 
)

Definition at line 196 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_reserve()

uword clib_mem_vm_reserve ( uword  start,
uword  size,
clib_mem_page_sz_t  log2_page_sz 
)

Definition at line 331 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clib_mem_vm_unmap()

int clib_mem_vm_unmap ( void *  base)

Definition at line 510 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_clib_mem_bulk()

u8* format_clib_mem_bulk ( u8 s,
va_list *  args 
)

Definition at line 213 of file mem_bulk.c.

◆ format_clib_mem_heap()

u8* format_clib_mem_heap ( u8 s,
va_list *  va 
)

Definition at line 422 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_clib_mem_page_stats()

u8* format_clib_mem_page_stats ( u8 s,
va_list *  va 
)

Definition at line 75 of file mem.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_clib_mem_usage()

u8* format_clib_mem_usage ( u8 s,
va_list *  args 
)

Definition at line 301 of file mem_dlmalloc.c.

+ Here is the call graph for this function:

◆ mheap_trace()

void mheap_trace ( clib_mem_heap_t v,
int  enable 
)

Definition at line 494 of file mem_dlmalloc.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_mem_get_next_numa_node()

static_always_inline int vlib_mem_get_next_numa_node ( int  numa)

Definition at line 523 of file mem.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ clib_mem_main

clib_mem_main_t clib_mem_main

Definition at line 22 of file mem.c.

size
u32 size
Definition: vhost_user.h:125
clib_mem_alloc_aligned
static void * clib_mem_alloc_aligned(uword size, uword align)
Definition: mem.h:261