51 #if defined(ENABLE_FREE_POISON) 58 for (
i = 0;
i <= M0_SEG_SIZE * 16;
i += M0_SEG_SIZE / 2) {
108 static void ub_free_all(
void)
122 { .ub_name =
"alloc-small",
126 { .ub_name =
"free-small",
130 { .ub_name =
"alloc-medium",
134 { .ub_name =
"free-medium",
138 { .ub_name =
"alloc-large",
142 { .ub_name =
"free-large",
146 { .ub_name =
"alloc-huge",
150 { .ub_name =
"free-huge",
static void ub_huge(int i)
static void ub_small(int i)
static bool m0_addr_is_aligned(const void *addr, unsigned shift)
static void ub_medium(int i)
M0_INTERNAL void m0_free_aligned(void *data, size_t size, unsigned shift)
static struct m0_atomic64 allocated
M0_INTERNAL size_t m0_allocated(void)
static void ub_large(int i)
static int ub_init(const char *opts M0_UNUSED)
struct m0_ub_set m0_memory_ub
void * m0_alloc(size_t size)
M0_INTERNAL bool m0_is_poisoned(const void *ptr)
static void ub_free(int i)
#define M0_ALLOC_PTR(ptr)
M0_INTERNAL void * m0_alloc_aligned(size_t size, unsigned shift)
static void * ubx[UB_ITER]