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

Per-cell link metadata (one caller-owned array entry per cell). More...

#include <ra8_keycache.h>

Data Fields

int32_t prev
 Recency link toward MRU within the segment, or -1.
int32_t next
 Recency link toward LRU within the segment, or -1.
int32_t hash_next
 Hash bucket chain link, or -1.
uint16_t pin_count
 Outstanding pins (0 => evictable).
uint8_t seg
 SLRU segment tag (probationary / protected).
uint8_t valid
 1 => this cell holds an entry.

Detailed Description

Per-cell link metadata (one caller-owned array entry per cell).

Treat as private; the cache owns the contents. Allocate an array of cell_count of these alongside the cell, key, and bucket storage. The ra8_keycache_cell_t::seg tag is only meaningful under the SLRU policy; under LRU it stays at the probationary value and is never consulted.

Since
0.1.0

Definition at line 161 of file ra8_keycache.h.

Field Documentation

◆ hash_next

int32_t ra8_keycache_cell_t::hash_next

Hash bucket chain link, or -1.

Definition at line 164 of file ra8_keycache.h.

Referenced by internal_hash_insert(), internal_hash_lookup(), internal_hash_remove(), and internal_seed_cells().

◆ next

int32_t ra8_keycache_cell_t::next

Recency link toward LRU within the segment, or -1.

Definition at line 163 of file ra8_keycache.h.

Referenced by internal_push_head(), and internal_unlink().

◆ pin_count

uint16_t ra8_keycache_cell_t::pin_count

Outstanding pins (0 => evictable).

Definition at line 165 of file ra8_keycache.h.

Referenced by internal_first_unpinned(), internal_miss(), internal_seed_cells(), ra8_keycache_get(), and ra8_keycache_put().

◆ prev

int32_t ra8_keycache_cell_t::prev

Recency link toward MRU within the segment, or -1.

Definition at line 162 of file ra8_keycache.h.

Referenced by internal_first_unpinned(), internal_push_head(), and internal_unlink().

◆ seg

uint8_t ra8_keycache_cell_t::seg

SLRU segment tag (probationary / protected).

Definition at line 166 of file ra8_keycache.h.

Referenced by internal_miss(), internal_seed_cells(), and internal_slru_access().

◆ valid

uint8_t ra8_keycache_cell_t::valid

1 => this cell holds an entry.

Definition at line 167 of file ra8_keycache.h.

Referenced by internal_hash_lookup(), internal_miss(), and internal_seed_cells().


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