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

One measured (backend, leg, block size) result row. More...

#include <sweep_block_internal.h>

Data Fields

const char * backend
 Backend name (cbs_backend_t.name).
const char * leg
 Workload leg: "seq" or "hot".
uint32_t block_bytes
 Swept block / frame / chunk size in bytes.
uint32_t frames
 Cache frames at this size (budget / block).
uint64_t reads
 Reader requests issued.
uint64_t hits
 ra8_vmem hits.
uint64_t misses
 ra8_vmem misses.
uint64_t evictions
 ra8_vmem evictions.
uint64_t be_calls
 Backend read calls (storage commands).
uint64_t be_bytes
 Bytes delivered to the cache by the backend.
uint64_t src_bytes
 Raw medium bytes moved (compressed for RBKC).
uint64_t backing_bytes
 On-medium backing size at this block size.
uint64_t wall_ns
 Wall-clock time of the timed loop, in ns.

Detailed Description

One measured (backend, leg, block size) result row.

Filled by the sweep driver; be_calls/be_bytes are counted at the ra8_vsource_read_fn seam (one call per cache miss), while src_bytes counts raw medium traffic (compressed bytes for the RBKC backend; equal to be_bytes for uncompressed backends).

Invariant
hits + misses == reads for every completed row.
See also
cb_sweep_block()
Since
0.1.0

Definition at line 117 of file sweep_block_internal.h.

Field Documentation

◆ backend

const char* cbs_row_t::backend

Backend name (cbs_backend_t.name).

Definition at line 118 of file sweep_block_internal.h.

Referenced by priv_print_row().

◆ backing_bytes

uint64_t cbs_row_t::backing_bytes

On-medium backing size at this block size.

Definition at line 129 of file sweep_block_internal.h.

Referenced by priv_print_row(), and priv_print_seq_table().

◆ be_bytes

uint64_t cbs_row_t::be_bytes

Bytes delivered to the cache by the backend.

Definition at line 127 of file sweep_block_internal.h.

Referenced by internal_run_block(), and priv_print_row().

◆ be_calls

uint64_t cbs_row_t::be_calls

Backend read calls (storage commands).

Definition at line 126 of file sweep_block_internal.h.

Referenced by internal_run_block(), priv_print_row(), and priv_print_seq_table().

◆ block_bytes

uint32_t cbs_row_t::block_bytes

Swept block / frame / chunk size in bytes.

Definition at line 120 of file sweep_block_internal.h.

Referenced by priv_print_row().

◆ evictions

uint64_t cbs_row_t::evictions

ra8_vmem evictions.

Definition at line 125 of file sweep_block_internal.h.

Referenced by internal_drive(), and priv_print_row().

◆ frames

uint32_t cbs_row_t::frames

Cache frames at this size (budget / block).

Definition at line 121 of file sweep_block_internal.h.

Referenced by priv_print_row(), and priv_print_seq_table().

◆ hits

uint64_t cbs_row_t::hits

ra8_vmem hits.

Definition at line 123 of file sweep_block_internal.h.

Referenced by internal_drive(), priv_print_hot_table(), and priv_print_row().

◆ leg

const char* cbs_row_t::leg

Workload leg: "seq" or "hot".

Definition at line 119 of file sweep_block_internal.h.

Referenced by priv_print_row().

◆ misses

uint64_t cbs_row_t::misses

ra8_vmem misses.

Definition at line 124 of file sweep_block_internal.h.

Referenced by internal_drive(), priv_print_hot_table(), priv_print_row(), and priv_print_seq_table().

◆ reads

uint64_t cbs_row_t::reads

Reader requests issued.

Definition at line 122 of file sweep_block_internal.h.

Referenced by internal_drive(), internal_row_mibs(), priv_print_hot_table(), priv_print_row(), and priv_print_seq_table().

◆ src_bytes

uint64_t cbs_row_t::src_bytes

Raw medium bytes moved (compressed for RBKC).

Definition at line 128 of file sweep_block_internal.h.

Referenced by internal_run_block(), priv_print_row(), and priv_print_seq_table().

◆ wall_ns

uint64_t cbs_row_t::wall_ns

Wall-clock time of the timed loop, in ns.

Definition at line 130 of file sweep_block_internal.h.

Referenced by internal_drive(), internal_row_mibs(), priv_print_hot_table(), priv_print_row(), and priv_print_seq_table().


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