ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
cbs_cache_t Struct Reference

One ::ra8_vmem instance sized for a swept block size + its storage. More...

Collaboration diagram for cbs_cache_t:

Data Fields

ra8_vmem_t vm
 The real SLRU page cache under test.
ra8_vsource_t vs
 Object-source registry (one object).
ra8_vsource_obj_t objs [1]
 The single registered object's slot.
cbs_meter_t meter
 Vsource-seam storage-command meter.
uint8_t * frame_mem
 frames * block page storage.
ra8_vmem_frame_tmeta
 Per-frame metadata array.
ra8_vmem_key_tkeys
 Per-frame key-storage array.
int32_t * buckets
 Hash-bucket heads.
uint32_t frames
 Frame count at this block size.
uint32_t object_id
 Registered object id.

Detailed Description

One ::ra8_vmem instance sized for a swept block size + its storage.

Frame storage, metadata, and buckets are carved from explicit caller bindings per leg so every leg starts cold; cbs_meter_t counts storage commands (== misses) and delivered bytes.

Invariant
frames == k_cbs_cache_bytes / frame_bytes (>= 1).
Since
0.1.0

Definition at line 106 of file sweep_block.c.

Field Documentation

◆ buckets

int32_t* cbs_cache_t::buckets

Hash-bucket heads.

Definition at line 114 of file sweep_block.c.

Referenced by internal_cache_open(), and internal_cache_storage().

◆ frame_mem

uint8_t* cbs_cache_t::frame_mem

frames * block page storage.

Definition at line 111 of file sweep_block.c.

Referenced by internal_cache_open(), and internal_cache_storage().

◆ frames

uint32_t cbs_cache_t::frames

Frame count at this block size.

Definition at line 115 of file sweep_block.c.

Referenced by internal_cache_open(), internal_cache_storage(), and internal_run_block().

◆ keys

ra8_vmem_key_t* cbs_cache_t::keys

Per-frame key-storage array.

Definition at line 113 of file sweep_block.c.

Referenced by internal_cache_open(), and internal_cache_storage().

◆ meta

ra8_vmem_frame_t* cbs_cache_t::meta

Per-frame metadata array.

Definition at line 112 of file sweep_block.c.

Referenced by internal_cache_open(), and internal_cache_storage().

◆ meter

cbs_meter_t cbs_cache_t::meter

Vsource-seam storage-command meter.

Definition at line 110 of file sweep_block.c.

Referenced by internal_cache_open(), and internal_run_block().

◆ object_id

uint32_t cbs_cache_t::object_id

Registered object id.

Definition at line 116 of file sweep_block.c.

Referenced by internal_cache_open(), and internal_drive().

◆ objs

ra8_vsource_obj_t cbs_cache_t::objs[1]

The single registered object's slot.

Definition at line 109 of file sweep_block.c.

Referenced by internal_cache_open().

◆ vm

ra8_vmem_t cbs_cache_t::vm

The real SLRU page cache under test.

Definition at line 107 of file sweep_block.c.

Referenced by internal_cache_open(), and internal_drive().

◆ vs

ra8_vsource_t cbs_cache_t::vs

Object-source registry (one object).

Definition at line 108 of file sweep_block.c.

Referenced by internal_cache_open().


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