pub enum SchedulerKind {
Eevdf,
Discover,
Path,
KernelBuiltin,
}Expand description
Discriminator for the test’s scheduler-spec shape on the
--ktstr-shell-test=<NAME> wire format. Wire-byte-compatible with
the prior stringly-typed "eevdf" | "discover" | "path" | "kernel_builtin" values via #[serde(rename_all = "snake_case")];
the typed enum replaces the stringly-typed boundary so a rename on
either side (producer in dispatch::maybe_dispatch_shell_test,
consumer in cargo_ktstr::misc::shell) is a compile error instead
of a silent banner-emit-gate regression.
1:1 with crate::test_support::SchedulerSpec’s 4 variants; the
payload data (scheduler binary name, KernelBuiltin enable/disable
commands) rides separately on the descriptor’s scheduler_name /
scheduler_enable_cmds / scheduler_disable_cmds fields so this
type carries only the discriminator.
Variants§
Eevdf
Kernel-default scheduling — no userspace binary, no kernel-builtin lifecycle. The no-scx control.
Discover
Userspace scx binary located via resolve_scheduler cascade
(name-only, path is discovered at run time).
Path
Userspace scx binary at a fully-qualified path.
KernelBuiltin
In-kernel scheduling class activated via scheduler_enable_cmds
before workload start, torn down via scheduler_disable_cmds
on shell exit / test teardown.
Trait Implementations§
Source§impl Clone for SchedulerKind
impl Clone for SchedulerKind
Source§fn clone(&self) -> SchedulerKind
fn clone(&self) -> SchedulerKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SchedulerKind
impl Debug for SchedulerKind
Source§impl Default for SchedulerKind
impl Default for SchedulerKind
Source§fn default() -> SchedulerKind
fn default() -> SchedulerKind
Source§impl<'de> Deserialize<'de> for SchedulerKind
impl<'de> Deserialize<'de> for SchedulerKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for SchedulerKind
impl Display for SchedulerKind
Source§impl From<&SchedulerSpec> for SchedulerKind
impl From<&SchedulerSpec> for SchedulerKind
Source§fn from(spec: &SchedulerSpec) -> Self
fn from(spec: &SchedulerSpec) -> Self
Single source of truth for the SchedulerSpec → SchedulerKind mapping. Exhaustive match so adding a 5th SchedulerSpec variant triggers a compile error here, forcing the discriminator to grow in lockstep.
Source§impl Hash for SchedulerKind
impl Hash for SchedulerKind
Source§impl PartialEq for SchedulerKind
impl PartialEq for SchedulerKind
Source§impl Serialize for SchedulerKind
impl Serialize for SchedulerKind
impl Copy for SchedulerKind
impl Eq for SchedulerKind
impl StructuralPartialEq for SchedulerKind
Auto Trait Implementations§
impl Freeze for SchedulerKind
impl RefUnwindSafe for SchedulerKind
impl Send for SchedulerKind
impl Sync for SchedulerKind
impl Unpin for SchedulerKind
impl UnwindSafe for SchedulerKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more