|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
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. | |
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.
Definition at line 161 of file ra8_keycache.h.
| 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().
| 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().
| 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().
| 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().
| 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().
| 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().