21typedef enum : uint16_t {
29typedef enum : uint8_t {
Eviction-policy comparison harness for the #147 memory-hierarchy decision record: the DIP seam every ...
struct cb_trace cb_trace_t
Bounded byte-source and text-sink seams for cache_bench.
cb_io_status_t
Status returned by tool-local injected I/O callbacks.
A cache key: one (object, page) the reader's vm_get touches.
Immutable injected byte source with a snapshotted length.
Caller-owned state for one independent trace pass.
uint32_t page
Stateful generator page.
uint64_t source_offset
Next source byte offset.
size_t read_count
Valid read-ahead bytes.
uint64_t fingerprint
Captured pass fingerprint.
char line[k_cb_trace_line_capacity]
Bounded line assembly.
const cb_trace_t * trace
Bound immutable descriptor.
uint64_t rng
Generator state.
size_t read_at
Read-ahead cursor.
uint32_t hot
Stateful hot-window base.
uint8_t read_buffer[k_cb_trace_read_capacity]
Bounded read-ahead.
uint64_t index
Accesses emitted.
Named resettable trace; captured bytes remain owned by the caller.
const char * name
Stable display name.
cb_trace_kind_t kind
Generator/parser selection.
cb_source_t source
Captured source binding, when selected.
uint64_t fingerprint
Bound captured-content fingerprint.
uint32_t footprint
Reported working-set pages.
char name_storage[k_cb_trace_name_capacity]
Captured-name copy.
uint64_t n
Valid access count.
cb_trace_limit_t
Number of built-in deterministic workloads.
@ k_cb_trace_line_capacity
Historical line-parser bound.
@ k_cb_trace_read_capacity
Bounded source read-ahead.
@ k_cb_trace_name_capacity
Captured trace display-name bound.
@ k_cb_synthetic_trace_count
Fixed corpus size.
cb_io_status_t cb_trace_cursor_next(cb_trace_cursor_t *cursor, cb_key_t *key, bool *done)
Emit the next key.
cb_io_status_t cb_trace_cursor_finish(const cb_trace_cursor_t *cursor)
Validate a captured pass against its bound count and fingerprint.
cb_io_status_t cb_trace_cursor_open(const cb_trace_t *trace, cb_trace_cursor_t *cursor)
Reset a cursor for an independent pass over a trace.
struct cb_trace cb_trace_t
Named resettable trace; captured bytes remain owned by the caller.
cb_trace_kind_t
Workload implementation selected by a trace descriptor.
@ k_cb_trace_seq
Sequential page walk.
@ k_cb_trace_mixed
Alternating access phases.
@ k_cb_trace_reread
Hot-set reread workload.
@ k_cb_trace_scroll
Repeated scrolling window.
@ k_cb_trace_huge
Oversized hot-set and scan.
@ k_cb_trace_captured
Caller-injected captured accesses.
@ k_cb_trace_scan
Hot-set plus streaming scan.
@ k_cb_trace_jumps
Mostly sequential with jumps.
@ k_cb_trace_random
Uniform pseudo-random accesses.
cb_io_status_t cb_trace_bind(const cb_source_t *source, const char *name, size_t name_length, cb_trace_t *out)
Validate and bind one captured decimal <object> <page> source.
void cb_traces_synthetic(cb_trace_t out[k_cb_synthetic_trace_count])
Populate the fixed built-in corpus without acquiring storage.