RTEMS CPU Kit with SuperCore  4.11.3
Data Fields
rtems_bdbuf_cache Struct Reference

The BD buffer cache. More...

Collaboration diagram for rtems_bdbuf_cache:
Collaboration graph
[legend]

Data Fields

rtems_id swapout
 Swapout task ID.
 
bool swapout_enabled
 Swapout is only running if enabled. More...
 
rtems_chain_control swapout_free_workers
 The work threads for the swapout task. More...
 
rtems_bdbuf_bufferbds
 Pointer to table of buffer descriptors. More...
 
void * buffers
 The buffer's memory. More...
 
size_t buffer_min_count
 Number of minimum size buffers that fit the buffer memory. More...
 
size_t max_bds_per_group
 The number of BDs of minimum buffer size that fit in a group. More...
 
uint32_t flags
 Configuration flags. More...
 
rtems_bdbuf_lock_type lock
 The cache lock. More...
 
rtems_bdbuf_lock_type sync_lock
 Sync calls block writes. More...
 
bool sync_active
 True if a sync is active. More...
 
rtems_id sync_requester
 The sync requester. More...
 
rtems_disk_devicesync_device
 The device to sync and BDBUF_INVALID_DEV not a device sync. More...
 
rtems_bdbuf_buffertree
 Buffer descriptor lookup AVL tree root. More...
 
rtems_chain_control lru
 Least recently used list.
 
rtems_chain_control modified
 Modified buffers list.
 
rtems_chain_control sync
 Buffers to sync list.
 
rtems_bdbuf_waiters access_waiters
 Wait for a buffer in ACCESS_CACHED, ACCESS_MODIFIED or ACCESS_EMPTY state. More...
 
rtems_bdbuf_waiters transfer_waiters
 Wait for a buffer in TRANSFER state. More...
 
rtems_bdbuf_waiters buffer_waiters
 Wait for a buffer and no one is available. More...
 
rtems_bdbuf_swapout_transferswapout_transfer
 
rtems_bdbuf_swapout_workerswapout_workers
 
size_t group_count
 The number of groups. More...
 
rtems_bdbuf_groupgroups
 The groups. More...
 
rtems_id read_ahead_task
 Read-ahead task.
 
rtems_chain_control read_ahead_chain
 Read-ahead request chain.
 
bool read_ahead_enabled
 Read-ahead enabled.
 
rtems_status_code init_status
 The initialization status.
 

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.

◆ lock

rtems_bdbuf_lock_type rtems_bdbuf_cache::lock

The cache lock.

It locks all cache data, BD and lists.

◆ 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.

◆ 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_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_bdbuf_lock_type 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: