Skip to main content

SPAWN_FLAG_CORE_STRICT

Constant SPAWN_FLAG_CORE_STRICT 

Source
pub const SPAWN_FLAG_CORE_STRICT: u32 = _; // 4u32
Expand description

core is a STRICT placement, not a preference.

The two are different rules (9.2) and the kernel has always had both: an explicitly-requested core (a restart’s --core N) is REJECTED with PlacementInvalid when that core is not ready, because silently placing the service elsewhere would defeat the point of asking. A catalogue row’s PREFERRED core falls back to round-robin instead, so a machine with fewer cores still boots.

Without this bit a moved service’s table preference read as an override, and every service naming a core the machine does not have failed to spawn rather than degrading - events and xhci (both core 2) simply vanished under -smp 2, which 11.3 requires to keep working.