Motr  M0
m0_net_buffer_pool Struct Reference

#include <buffer_pool.h>

Collaboration diagram for m0_net_buffer_pool:
Collaboration graph

Data Fields

uint32_t nbp_free
 
uint32_t nbp_threshold
 
uint32_t nbp_seg_nr
 
uint32_t nbp_buf_nr
 
m0_bcount_t nbp_seg_size
 
struct m0_mutex nbp_mutex
 
struct m0_net_domainnbp_ndom
 
const struct m0_net_buffer_pool_opsnbp_ops
 
uint32_t nbp_colours_nr
 
struct m0_tlnbp_colours
 
unsigned nbp_align
 
bool nbp_dont_dump
 
struct m0_tl nbp_lru
 

Detailed Description

Buffer pool.

Definition at line 245 of file buffer_pool.h.

Field Documentation

◆ nbp_align

unsigned nbp_align

Alignment for network buffers

Definition at line 275 of file buffer_pool.h.

◆ nbp_buf_nr

uint32_t nbp_buf_nr

Number of buffers in the pool.

Definition at line 253 of file buffer_pool.h.

◆ nbp_colours

struct m0_tl* nbp_colours

An array of nbp_colours_nr lists of buffers. Each list in the array contains buffers of a particular colour. Lists are maintained in LIFO order (i.e., they are stacks) to improve temporal locality of reference. Buffers are linked through m0_net_buffer::nb_tm_linkage to these lists.

Definition at line 273 of file buffer_pool.h.

◆ nbp_colours_nr

uint32_t nbp_colours_nr

Number of colours in the pool.

Definition at line 265 of file buffer_pool.h.

◆ nbp_dont_dump

bool nbp_dont_dump

Memory in this pool is excluded in core dump or not

Definition at line 277 of file buffer_pool.h.

◆ nbp_free

uint32_t nbp_free

Number of free buffers in the pool.

Definition at line 247 of file buffer_pool.h.

◆ nbp_lru

struct m0_tl nbp_lru

A list of all buffers in the pool. This list is maintained in LRU order. The head of this list (which is the buffer used longest time ago) is used when coloured array is empty. Buffers are linked through m0_net_buffer::nb_lru to this list.

Definition at line 285 of file buffer_pool.h.

◆ nbp_mutex

struct m0_mutex nbp_mutex

Buffer pool lock to protect and synchronize network buffer list. It needs to acquired to do any changes to the pool

Definition at line 259 of file buffer_pool.h.

◆ nbp_ndom

struct m0_net_domain* nbp_ndom

Network domain to register the buffers.

Definition at line 261 of file buffer_pool.h.

◆ nbp_ops

const struct m0_net_buffer_pool_ops* nbp_ops

Call back operations can be triggered by buffer pool.

Definition at line 263 of file buffer_pool.h.

◆ nbp_seg_nr

uint32_t nbp_seg_nr

Number of segments in each buffer of the pool.

Definition at line 251 of file buffer_pool.h.

◆ nbp_seg_size

m0_bcount_t nbp_seg_size

Size of buffer segment of the pool.

Definition at line 255 of file buffer_pool.h.

◆ nbp_threshold

uint32_t nbp_threshold

Number of buffer below which low memory condition occurs.

Definition at line 249 of file buffer_pool.h.


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