Motr  M0
pool.c File Reference
#include "lib/trace.h"
#include "be/pool.h"
#include "lib/errno.h"
#include "lib/memory.h"
#include "be/op.h"
Include dependency graph for pool.c:

Go to the source code of this file.

Data Structures

struct  be_pool_queue_item
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE
 

Functions

 M0_TL_DESCR_DEFINE (be_pool, "list of be_pool_items", static, struct m0_be_pool_item, bpli_link, bpli_magic, M0_BE_POOL_MAGIC, M0_BE_POOL_HEAD_MAGIC)
 
 M0_TL_DEFINE (be_pool, static, struct m0_be_pool_item)
 
 M0_TL_DESCR_DEFINE (be_pool_q, "list of be_pool_queue_items", static, struct be_pool_queue_item, bplq_link, bplq_magic, M0_BE_POOL_QUEUE_MAGIC, M0_BE_POOL_QUEUE_HEAD_MAGIC)
 
 M0_TL_DEFINE (be_pool_q, static, struct be_pool_queue_item)
 
M0_INTERNAL int m0_be_pool_init (struct m0_be_pool *pool, struct m0_be_pool_cfg *cfg)
 
M0_INTERNAL void m0_be_pool_fini (struct m0_be_pool *pool)
 
static void be_pool_lock (struct m0_be_pool *pool)
 
static void be_pool_unlock (struct m0_be_pool *pool)
 
static bool be_pool_is_locked (struct m0_be_pool *pool)
 
static void * be_pool_amb (const struct m0_be_pool_descr *d, struct m0_be_pool_item *item)
 
static struct m0_be_pool_itembe_pool_item (const struct m0_be_pool_descr *d, void *obj)
 
static uint64_t be_pool_magic (const struct m0_be_pool_descr *d, void *obj)
 
static void be_pool_magic_set (const struct m0_be_pool_descr *d, void *obj, uint64_t magic)
 
static bool be_pool_obj__invariant (const struct m0_be_pool_descr *d, void *obj)
 
static void be_pool_get (const struct m0_be_pool_descr *d, struct m0_be_pool *pool, void **obj)
 
static void be_pool_got_free_item (const struct m0_be_pool_descr *d, struct m0_be_pool *pool)
 
M0_INTERNAL void m0_be_pool_add (const struct m0_be_pool_descr *d, struct m0_be_pool *pool, void *obj)
 
M0_INTERNAL void * m0_be_pool_del (const struct m0_be_pool_descr *d, struct m0_be_pool *pool)
 
M0_INTERNAL void m0_be_pool_get (const struct m0_be_pool_descr *d, struct m0_be_pool *pool, void **obj, struct m0_be_op *op)
 
M0_INTERNAL void m0_be_pool_put (const struct m0_be_pool_descr *d, struct m0_be_pool *pool, void *obj)
 

Variables

static const uint64_t BE_POOL_MAGIC_POISON = 0xCCCCCCCCCCCC
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE

Definition at line 23 of file pool.c.