24 #ifndef __MOTR_LIB_MEMORY_H__ 25 #define __MOTR_LIB_MEMORY_H__ 77 #define m0_free0(pptr) \ 79 typeof(pptr) __pptr = (pptr); \ 84 #define M0_ALLOC_ARR(arr, nr) ((arr) = M0_FI_ENABLED(#arr "-fail") ? NULL : \ 85 m0_alloc((nr) * sizeof ((arr)[0]))) 86 #define M0_ALLOC_PTR(ptr) M0_ALLOC_ARR(ptr, 1) 88 #define M0_ALLOC_ARR_ALIGNED(arr, nr, shift) \ 89 ((arr) = m0_alloc_aligned((nr) * sizeof ((arr)[0]), (shift))) 109 M0_CASSERT(
sizeof(
unsigned long) >=
sizeof(
void *));
110 return ((((
unsigned long)
addr >> shift) << shift) ==
111 (
unsigned long)
addr);
static struct m0_addb2_philter p
static bool m0_addr_is_aligned(const void *addr, unsigned shift)
M0_INTERNAL size_t m0_allocated_total(void)
M0_INTERNAL void * m0_alloc_wired(size_t size, unsigned shift)
M0_INTERNAL void m0_free_aligned(void *data, size_t size, unsigned shift)
M0_INTERNAL int m0_pageshift_get(void)
M0_INTERNAL size_t m0_allocated(void)
M0_INTERNAL void m0_free_wired(void *data, size_t size, unsigned shift)
M0_INTERNAL int m0_pagesize_get(void)
M0_INTERNAL void * m0_alloc_nz(size_t size)
M0_INTERNAL int m0_dont_dump(void *p, size_t size)
void * m0_alloc(size_t size)
M0_INTERNAL bool m0_is_poisoned(const void *ptr)
M0_INTERNAL size_t m0_freed_total(void)
M0_INTERNAL void m0_memory_pagein(void *addr, size_t size)
M0_INTERNAL void * m0_alloc_aligned(size_t size, unsigned shift)