29 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_LIB 41 return alloc->la_pool ==
NULL ? -ENOMEM : 0;
63 if (
alloc->la_frame == 0) {
83 memset(curr->
lai_addr, 0xCC, aligned_sz);
151 .sd_name =
"COR_INIT",
156 .sd_name =
"COR_ACTIVE",
161 .sd_name =
"COR_DONE",
246 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL void m0_co_context_fini(struct m0_co_context *context)
static struct m0_sm_trans_descr co_trans[]
M0_INTERNAL void m0_co_op_reset(struct m0_co_op *op)
M0_INTERNAL void m0_free_aligned(void *data, size_t size, unsigned shift)
M0_INTERNAL void m0_co_op_init(struct m0_co_op *op)
M0_INTERNAL void m0_fom_wait_on(struct m0_fom *fom, struct m0_chan *chan, struct m0_fom_callback *cb)
static void locals_free(struct m0_co_locals_allocator *alloc, uint64_t frame)
M0_INTERNAL void m0_sm_group_unlock(struct m0_sm_group *grp)
M0_INTERNAL void m0_co_op_fini(struct m0_co_op *op)
M0_INTERNAL void m0_sm_group_init(struct m0_sm_group *grp)
static bool m0_is_aligned(uint64_t val, uint64_t alignment)
void m0_sm_state_set(struct m0_sm *mach, int state)
M0_INTERNAL int m0_co_op_tick_ret(struct m0_co_op *op, struct m0_fom *fom, int next_state)
M0_INTERNAL struct m0_sm_conf co_states_conf
static struct ff2c_term * alloc(void)
M0_INTERNAL void m0_co_context_locals_alloc(struct m0_co_context *context, uint64_t size)
static int locals_alloc_init(struct m0_co_locals_allocator *alloc)
M0_INTERNAL void * m0_co_context_locals(struct m0_co_context *context)
struct m0_co_locals_allocator mc_alloc
M0_INTERNAL void m0_co_op_active(struct m0_co_op *op)
static struct m0_sm_state_descr co_states[]
M0_INTERNAL void m0_sm_init(struct m0_sm *mach, const struct m0_sm_conf *conf, uint32_t state, struct m0_sm_group *grp)
M0_INTERNAL int m0_co_context_init(struct m0_co_context *context)
M0_INTERNAL void m0_sm_group_lock(struct m0_sm_group *grp)
void * mc_locals[M0_MCC_STACK_NR]
void m0_fom_phase_set(struct m0_fom *fom, int phase)
M0_INTERNAL void * m0_alloc_aligned(size_t size, unsigned shift)
M0_INTERNAL void m0_co_context_locals_free(struct m0_co_context *context)
static uint64_t m0_align(uint64_t val, uint64_t alignment)
M0_INTERNAL void m0_co_op_done(struct m0_co_op *op)
static void * locals_alloc(struct m0_co_locals_allocator *alloc, uint64_t frame, uint64_t size)
static void locals_alloc_fini(struct m0_co_locals_allocator *alloc)
M0_INTERNAL void m0_sm_fini(struct m0_sm *mach)