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
@@ -119,6 +119,11 @@ void stadium_block_dispatch(VMUuid vm_id, uint32_t lbn, uint64_t heartbeat_ticks
|
||||
*/
|
||||
void stadium_blocks_print_boot_diagnostics(VMUuid vm_id);
|
||||
|
||||
/* FABRIC-3.10.8 K-4: quota slot `slot` is being released -- tombstone its
|
||||
* block-table entries and zero its statistics, so the slot's next VM
|
||||
* inherits none of them. Caller holds g_lock_stadium. */
|
||||
void stadium_blocks_slot_released(int slot);
|
||||
|
||||
#endif /* __STARKERNEL__ */
|
||||
|
||||
#endif /* STARKERNEL_VM_STADIUM_BLOCKS_H */
|
||||
|
||||
Reference in New Issue
Block a user