FABRIC-3.10.8 MC-3a: the claim, the physics lock, per-core decision state
VM.running_on claimed by compare-and-swap on switch-in and released once the context is saved (release_after, sk_vm_switch_finish); a lost claim returns 1 and the caller re-decides; double claims counted. Per-core entry_vm and decision_due. g_lock_physics over capsule_vm_physics.c (rank between switch and registry). KILL refuses a VM running anywhere. Probe: 15737 claims, 0 lost, 0 double; a core-1 claim of Hera refused. 3-ISA acceptance with a 28-VM churn clean, 0 order violations. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
2e3b7ebe66
commit
4440faf352
@@ -50,6 +50,9 @@
|
||||
* g_lock_hermes kernel-Hermes arena, queues, channels, ledger
|
||||
* g_lock_switch switch-signal slot table and stamps
|
||||
* (capsule_vm_switch_signal.c)
|
||||
* g_lock_physics fleet physics: node list, heat, touch window, slope
|
||||
* (capsule_vm_physics.c, MC-3a); retirement walks
|
||||
* the registry under it
|
||||
* g_lock_registry VM registry list and entries (capsule_birth.c)
|
||||
* g_lock_stadium Stadium's global part: quota-slot allocation
|
||||
* (grants) and the shared block table (MC-0d)
|
||||
@@ -91,6 +94,7 @@ typedef enum sk_lock_rank {
|
||||
SK_LOCK_RANK_NONE = 0, /* unranked: neither checked nor counted */
|
||||
SK_LOCK_RANK_HERMES,
|
||||
SK_LOCK_RANK_SWITCH,
|
||||
SK_LOCK_RANK_PHYSICS, /* fleet physics (MC-3a): walks the registry */
|
||||
SK_LOCK_RANK_REGISTRY,
|
||||
SK_LOCK_RANK_VM_DICT, /* a VM's dict_lock (sf_mutex_t) */
|
||||
SK_LOCK_RANK_VM_TUNING, /* a VM's tuning_lock (sf_mutex_t) */
|
||||
@@ -141,6 +145,7 @@ uint64_t sk_lock_order_violations(void);
|
||||
extern sk_spinlock_t g_lock_registry;
|
||||
extern sk_spinlock_t g_lock_stadium;
|
||||
extern sk_spinlock_t g_lock_switch;
|
||||
extern sk_spinlock_t g_lock_physics;
|
||||
extern sk_spinlock_t g_lock_hermes;
|
||||
extern sk_spinlock_t g_lock_doe;
|
||||
extern sk_spinlock_t g_lock_log;
|
||||
|
||||
Reference in New Issue
Block a user