|
| M0_BE_LIST_DESCR_DEFINE (chunks_all, "list of all chunks in m0_be_allocator", static, struct be_alloc_chunk, bac_linkage, bac_magic, M0_BE_ALLOC_ALL_LINK_MAGIC, M0_BE_ALLOC_ALL_MAGIC) |
|
| M0_BE_LIST_DEFINE (chunks_all, static, struct be_alloc_chunk) |
|
static const char * | be_alloc_zone_name (enum m0_be_alloc_zone_type type) |
|
static void | be_allocator_call_stat_init (struct m0_be_allocator_call_stat *cstat) |
|
static void | be_allocator_call_stats_init (struct m0_be_allocator_call_stats *cs) |
|
static void | be_allocator_stats_init (struct m0_be_allocator_stats *stats, struct m0_be_allocator_header *h) |
|
static void | be_allocator_call_stat_update (struct m0_be_allocator_call_stat *cstat, unsigned long nr, m0_bcount_t size) |
|
static void | be_allocator_call_stats_update (struct m0_be_allocator_call_stats *cs, m0_bcount_t size, bool alloc, bool failed) |
|
static void | be_allocator_call_stats_print (struct m0_be_allocator_call_stats *cs, const char *descr) |
|
static void | be_allocator_stats_print (struct m0_be_allocator_stats *stats) |
|
static void | be_allocator_stats_update (struct m0_be_allocator_stats *stats, m0_bcount_t size, bool alloc, bool failed) |
|
static void | be_allocator_stats_capture (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx) |
|
static void | be_alloc_chunk_capture (struct m0_be_allocator *a, struct m0_be_tx *tx, struct be_alloc_chunk *c) |
|
static void | be_alloc_free_flag_capture (const struct m0_be_allocator *a, struct m0_be_tx *tx, struct be_alloc_chunk *c) |
|
static void | be_alloc_size_capture (const struct m0_be_allocator *a, struct m0_be_tx *tx, struct be_alloc_chunk *c) |
|
static bool | be_alloc_mem_is_in (const struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, const void *ptr, m0_bcount_t size) |
|
static bool | be_alloc_chunk_is_in (const struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, const struct be_alloc_chunk *c) |
|
static bool | be_alloc_chunk_is_not_overlapping (const struct be_alloc_chunk *a, const struct be_alloc_chunk *b) |
|
static bool | be_alloc_chunk_invariant (struct m0_be_allocator *a, const struct be_alloc_chunk *c) |
|
static void | be_alloc_chunk_init (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c, m0_bcount_t size, bool free) |
|
static void | be_alloc_chunk_del_fini (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c) |
|
static struct be_alloc_chunk * | be_alloc_chunk_addr (void *ptr) |
|
static struct be_alloc_chunk * | be_alloc_chunk_prev (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct be_alloc_chunk *c) |
|
static struct be_alloc_chunk * | be_alloc_chunk_next (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct be_alloc_chunk *c) |
|
static void | be_alloc_chunk_mark_free (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c) |
|
static uintptr_t | be_alloc_chunk_after (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct be_alloc_chunk *c) |
|
static struct be_alloc_chunk * | be_alloc_chunk_add_after (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c, uintptr_t offset, m0_bcount_t size_total, bool free) |
|
static void | be_alloc_chunk_resize (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c, m0_bcount_t new_size) |
|
static struct be_alloc_chunk * | be_alloc_chunk_tryadd_free_after (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c, uintptr_t offset, m0_bcount_t size_total) |
|
static struct be_alloc_chunk * | be_alloc_chunk_split (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c, uintptr_t start_new, m0_bcount_t size) |
|
static struct be_alloc_chunk * | be_alloc_chunk_trysplit (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *c, m0_bcount_t size, unsigned shift) |
|
static bool | be_alloc_chunk_trymerge (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, struct be_alloc_chunk *x, struct be_alloc_chunk *y) |
|
M0_INTERNAL int | m0_be_allocator_init (struct m0_be_allocator *a, struct m0_be_seg *seg) |
|
M0_INTERNAL void | m0_be_allocator_fini (struct m0_be_allocator *a) |
|
M0_INTERNAL bool | m0_be_allocator__invariant (struct m0_be_allocator *a) |
|
static int | be_allocator_header_create (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx, uintptr_t offset, m0_bcount_t size) |
|
static void | be_allocator_header_destroy (struct m0_be_allocator *a, enum m0_be_alloc_zone_type ztype, struct m0_be_tx *tx) |
|
M0_INTERNAL int | m0_be_allocator_create (struct m0_be_allocator *a, struct m0_be_tx *tx, uint32_t *zone_percent, uint32_t zones_nr) |
|
M0_INTERNAL void | m0_be_allocator_destroy (struct m0_be_allocator *a, struct m0_be_tx *tx) |
|
M0_INTERNAL void | m0_be_allocator_credit (struct m0_be_allocator *a, enum m0_be_allocator_op optype, m0_bcount_t size, unsigned shift, struct m0_be_tx_credit *accum) |
|
M0_INTERNAL void | m0_be_alloc_aligned (struct m0_be_allocator *a, struct m0_be_tx *tx, struct m0_be_op *op, void **ptr, m0_bcount_t size, unsigned shift, uint64_t zonemask) |
|
M0_INTERNAL void | m0_be_alloc (struct m0_be_allocator *a, struct m0_be_tx *tx, struct m0_be_op *op, void **ptr, m0_bcount_t size) |
|
M0_INTERNAL void | m0_be_free_aligned (struct m0_be_allocator *a, struct m0_be_tx *tx, struct m0_be_op *op, void *ptr) |
|
M0_INTERNAL void | m0_be_free (struct m0_be_allocator *a, struct m0_be_tx *tx, struct m0_be_op *op, void *ptr) |
|
M0_INTERNAL void | m0_be_alloc_stats (struct m0_be_allocator *a, struct m0_be_allocator_stats *out) |
|
M0_INTERNAL void | m0_be_alloc_stats_credit (struct m0_be_allocator *a, struct m0_be_tx_credit *accum) |
|
M0_INTERNAL void | m0_be_alloc_stats_capture (struct m0_be_allocator *a, struct m0_be_tx *tx) |
|