[][src]Enum perf_event::events::Software

#[repr(u32)]
pub enum Software {
    CPU_CLOCK,
    TASK_CLOCK,
    PAGE_FAULTS,
    CONTEXT_SWITCHES,
    CPU_MIGRATIONS,
    PAGE_FAULTS_MIN,
    PAGE_FAULTS_MAJ,
    ALIGNMENT_FAULTS,
    EMULATION_FAULTS,
    DUMMY,
}

Software counters, implemented by the kernel.

Each variant of this enum corresponds to a particular PERF_COUNT_SW_... value supported by the perf_event_open system call.

Variants

CPU_CLOCK

This reports the CPU clock, a high-resolution per-CPU timer.

TASK_CLOCK

This reports a clock count specific to the task that is running.

PAGE_FAULTS

This reports the number of page faults.

CONTEXT_SWITCHES

This counts context switches. Until Linux 2.6.34, these were all reported as user-space events, after that they are reported as happening in the kernel.

CPU_MIGRATIONS

This reports the number of times the process has migrated to a new CPU.

PAGE_FAULTS_MIN

This counts the number of minor page faults. These did not require disk I/O to handle.

PAGE_FAULTS_MAJ

This counts the number of major page faults. These required disk I/O to handle.

ALIGNMENT_FAULTS

(since Linux 2.6.33) This counts the number of alignment faults. These happen when unaligned memory accesses happen; the kernel can handle these but it reduces performance. This happens only on some architectures (never on x86).

EMULATION_FAULTS

(since Linux 2.6.33) This counts the number of emulation faults. The kernel sometimes traps on unimplemented instructions and emulates them for user space. This can negatively impact performance.

DUMMY

(since Linux 3.12) This is a placeholder event that counts nothing. Informational sample record types such as mmap or comm must be associated with an active event. This dummy event allows gathering such records without requiring a counting event.

Trait Implementations

impl Clone for Software[src]

impl Copy for Software[src]

impl Debug for Software[src]

impl Eq for Software[src]

impl From<Software> for Event[src]

impl PartialEq<Software> for Software[src]

impl StructuralEq for Software[src]

impl StructuralPartialEq for Software[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.