Motr  M0
m0_be_pool Struct Reference

#include <pool.h>

Collaboration diagram for m0_be_pool:
Collaboration graph

Data Fields

struct m0_be_pool_cfg bpl_cfg
 
struct m0_mutex bpl_lock
 
struct m0_tl bpl_free
 
struct m0_tl bpl_used
 
struct be_pool_queue_itembpl_q_items
 
struct m0_tl bpl_q_free
 
struct m0_tl bpl_q_pending
 

Detailed Description

BE pool is a collection of pre-allocated objects of a single type. User is responsible for the objects allocation and filling of BE pool using interface m0_be_pool_add(). m0_be_pool_get/put are used for obtaining and release a free object.

Macros M0_BE_POOL_DESCR_DEFINE and M0_BE_POOL_DEFINE hide structure m0_be_pool_descr and simplify interface of BE pool.

Definition at line 57 of file pool.h.

Field Documentation

◆ bpl_cfg

struct m0_be_pool_cfg bpl_cfg

Definition at line 58 of file pool.h.

◆ bpl_free

struct m0_tl bpl_free

List of free objects that can be get immediately.

Definition at line 62 of file pool.h.

◆ bpl_lock

struct m0_mutex bpl_lock

Protects all lists.

Definition at line 60 of file pool.h.

◆ bpl_q_free

struct m0_tl bpl_q_free

List of free queue items.

Definition at line 68 of file pool.h.

◆ bpl_q_items

struct be_pool_queue_item* bpl_q_items

Array of preallocated queue items.

Definition at line 66 of file pool.h.

◆ bpl_q_pending

struct m0_tl bpl_q_pending

List of pending queue items.

Definition at line 70 of file pool.h.

◆ bpl_used

struct m0_tl bpl_used

List of objects that are in use.

Definition at line 64 of file pool.h.


The documentation for this struct was generated from the following file: