Skip to main content

refuse_unsupported_preemption

Function refuse_unsupported_preemption 

Source
pub fn refuse_unsupported_preemption(
    config: &Config,
    backend: Backend,
    maximum_requested: bool,
    skid_margin_requested: bool,
) -> Result<(), UnsupportedPreemption>
Expand description

Check command-line requests before launching a guest or consuming input. maximum_requested records parser provenance, including config-file and --from inputs. The inherited maximum is not a timer request: it also controls shared clock accounting and cooperative scheduling, and stays unchanged. skid_margin_requested represents the CLI-only PMU setting.

This check never rewrites the configuration. Library APIs without command- line provenance retain their existing admission behavior. A schedule-event recording or cooperative target alone does not request a timer. Preemption-point replay does, and is refused without inspecting or silently reducing the requested recording to a cooperative subset.

A runtime that delivers timer events but cannot unwind guest stacks (provides_guest_backtraces false, as on KVM) accepts every timer request except the two that print a stack at each preemption, which would print none there.