#[non_exhaustive]pub enum ScxExitKind {
Unclassified,
Error,
Stall,
Normal,
Other,
}Expand description
Kind of scx exit event extracted from dmesg.
Distinguishes the source of the printed stack so the auto-repro pipeline knows whether to trust the stack as “where the BPF scheduler hung” or “where the watchdog noticed the hang”.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unclassified
Default — used by ScxExitEvent::default() in test fixtures
and as the post-anchor placeholder before classification
runs. Real parsed events overwrite this with one of the
classified variants below.
Error
Operator-error exit (scx_error() called from BPF program
or from kernel-side validation). Stack trace is the BPF
caller’s path — useful for direct probe placement.
Stall
Watchdog-detected stall (check_rq_for_timeouts fired).
Stack trace is the watchdog kthread, NOT the BPF scheduler.
Auto-repro fallback: probe all BPF ops callbacks since the
causal callback is not directly recoverable from the watchdog
stack.
Normal
Normal disable — ops.exit() called cleanly. No error stack.
Other
A scx event line was detected but the kind couldn’t be classified from the surrounding text. Treat as unknown classification rather than dropping the event.
Trait Implementations§
Source§impl Clone for ScxExitKind
impl Clone for ScxExitKind
Source§fn clone(&self) -> ScxExitKind
fn clone(&self) -> ScxExitKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ScxExitKind
impl Debug for ScxExitKind
Source§impl Default for ScxExitKind
impl Default for ScxExitKind
Source§fn default() -> ScxExitKind
fn default() -> ScxExitKind
Source§impl<'de> Deserialize<'de> for ScxExitKind
impl<'de> Deserialize<'de> for ScxExitKind
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 PartialEq for ScxExitKind
impl PartialEq for ScxExitKind
Source§impl Serialize for ScxExitKind
impl Serialize for ScxExitKind
impl Eq for ScxExitKind
impl StructuralPartialEq for ScxExitKind
Auto Trait Implementations§
impl Freeze for ScxExitKind
impl RefUnwindSafe for ScxExitKind
impl Send for ScxExitKind
impl Sync for ScxExitKind
impl Unpin for ScxExitKind
impl UnwindSafe for ScxExitKind
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