RTEMS  5.0.0
Data Fields
rtems_bdbuf_cache Struct Reference

Data Fields

rtems_id swapout
 
bool swapout_enabled
 
rtems_chain_control swapout_free_workers
 
rtems_bdbuf_bufferbds
 
void * buffers
 
size_t buffer_min_count
 
size_t max_bds_per_group
 
uint32_t flags
 
rtems_mutex lock
 
rtems_mutex sync_lock
 
bool sync_active
 
rtems_id sync_requester
 
rtems_disk_devicesync_device
 
rtems_bdbuf_buffertree
 
rtems_chain_control lru
 
rtems_chain_control modified
 
rtems_chain_control sync
 
rtems_bdbuf_waiters access_waiters
 
rtems_bdbuf_waiters transfer_waiters
 
rtems_bdbuf_waiters buffer_waiters
 
rtems_bdbuf_swapout_transferswapout_transfer
 
rtems_bdbuf_swapout_workerswapout_workers
 
size_t group_count
 
rtems_bdbuf_groupgroups
 
rtems_id read_ahead_task
 
rtems_chain_control read_ahead_chain
 
bool read_ahead_enabled
 
rtems_status_code init_status
 
pthread_once_t once
 

Detailed Description

The BD buffer cache.

Field Documentation

◆ access_waiters

rtems_bdbuf_waiters rtems_bdbuf_cache::access_waiters

Wait for a buffer in ACCESS_CACHED, ACCESS_MODIFIED or ACCESS_EMPTY state.

◆ bds

rtems_bdbuf_buffer* rtems_bdbuf_cache::bds

Pointer to table of buffer descriptors.

◆ buffer_min_count

size_t rtems_bdbuf_cache::buffer_min_count

Number of minimum size buffers that fit the buffer memory.

◆ buffer_waiters

rtems_bdbuf_waiters rtems_bdbuf_cache::buffer_waiters

Wait for a buffer and no one is available.

◆ buffers

void* rtems_bdbuf_cache::buffers

The buffer's memory.

◆ flags

uint32_t rtems_bdbuf_cache::flags

Configuration flags.

◆ group_count

size_t rtems_bdbuf_cache::group_count

The number of groups.

◆ groups

rtems_bdbuf_group* rtems_bdbuf_cache::groups

The groups.

◆ init_status

rtems_status_code rtems_bdbuf_cache::init_status

The initialization status

◆ lock

rtems_mutex rtems_bdbuf_cache::lock

The cache lock. It locks all cache data, BD and lists.

◆ lru

rtems_chain_control rtems_bdbuf_cache::lru

Least recently used list

◆ max_bds_per_group

size_t rtems_bdbuf_cache::max_bds_per_group

The number of BDs of minimum buffer size that fit in a group.

◆ modified

rtems_chain_control rtems_bdbuf_cache::modified

Modified buffers list

◆ read_ahead_chain

rtems_chain_control rtems_bdbuf_cache::read_ahead_chain

Read-ahead request chain

◆ read_ahead_enabled

bool rtems_bdbuf_cache::read_ahead_enabled

Read-ahead enabled

◆ read_ahead_task

rtems_id rtems_bdbuf_cache::read_ahead_task

Read-ahead task

◆ swapout

rtems_id rtems_bdbuf_cache::swapout

Swapout task ID

◆ swapout_enabled

bool rtems_bdbuf_cache::swapout_enabled

Swapout is only running if enabled. Set to false to kill the swap out task. It deletes itself.

◆ swapout_free_workers

rtems_chain_control rtems_bdbuf_cache::swapout_free_workers

The work threads for the swapout task.

◆ sync

rtems_chain_control rtems_bdbuf_cache::sync

Buffers to sync list

◆ sync_active

bool rtems_bdbuf_cache::sync_active

True if a sync is active.

◆ sync_device

rtems_disk_device* rtems_bdbuf_cache::sync_device

The device to sync and BDBUF_INVALID_DEV not a device sync.

◆ sync_lock

rtems_mutex rtems_bdbuf_cache::sync_lock

Sync calls block writes.

◆ sync_requester

rtems_id rtems_bdbuf_cache::sync_requester

The sync requester.

◆ transfer_waiters

rtems_bdbuf_waiters rtems_bdbuf_cache::transfer_waiters

Wait for a buffer in TRANSFER state.

◆ tree

rtems_bdbuf_buffer* rtems_bdbuf_cache::tree

Buffer descriptor lookup AVL tree root. There is only one.


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