Stage K-4: quota slots released to the best donor; message cells out of the admission fallback (FABRIC-3.10.8 §4.4)
- stadium_release_quota(): evict every patron but pending messages, mark the slot retiring; stadium_retire_sweep() releases a retiring slot once nothing is resident -- free cells to the best donor (ruled), word row and block-table entries cleared, slot free for reuse. Swept at release and after evictions while any slot is retiring. - Called on KILL and reap, and for the nine synthetic self-test ids after the boot self-tests. Hera's slot never released. - Admission fallback skips DELIVER (message) cells. - Probe (removed): slots in use == live VMs after boot and after 56-64 churned VMs on all three ISAs; forced fallback kept the message cell resident and intact; conserved everywhere; K-1's post-churn Hermes refusal gone (1 2 + . -> 3 on the churned system). Heap growth per 28-VM churn halved (~3.4 KB/VM still retained -- open as K-8). - Standard sequence on amd64/aarch64/riscv64: hash, G, ledger unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
9e41fb03ab
commit
1166713cc9
@@ -622,6 +622,18 @@ int stadium_cell_decay(size_t cell_index, uint64_t factor_q48, uint64_t *consume
|
||||
* session_set_pinned(), the sole pin choke point). -1 if out of range. */
|
||||
int stadium_cell_set_pin(size_t cell_index, int pinned);
|
||||
|
||||
/*
|
||||
* FABRIC-3.10.8 K-4: quota slots are released (cells to the best donor,
|
||||
* ruled 2026-09-26). stadium_release_quota() retires vm_id's slot (every
|
||||
* patron but its pending messages evicted); stadium_retire_sweep() releases
|
||||
* each retiring slot once nothing is resident. Call release on VM death
|
||||
* (KILL, reap) and when a self-test's synthetic id is done. Hera's slot is
|
||||
* never released. Returns 0, or -1 (no such slot, already retiring, Hera).
|
||||
*/
|
||||
int stadium_release_quota(VMUuid vm_id);
|
||||
void stadium_retire_sweep(void);
|
||||
uint64_t stadium_slots_released(void);
|
||||
|
||||
#endif /* __STARKERNEL__ */
|
||||
|
||||
#endif /* STARKERNEL_VM_STADIUM_H */
|
||||
Reference in New Issue
Block a user