Enum pmu_x86::EventType

source ·
pub enum EventType {
    InstructionsRetired = 196_800,
    UnhaltedCoreCycles = 196_668,
    UnhaltedReferenceCycles = 196_924,
    LastLevelCacheReferences = 216_878,
    LastLevelCacheMisses = 213_294,
    BranchInstructionsRetired = 196_804,
    BranchMissesRetired = 196_805,
}
Expand description

Used to select the event type to count. Event types are described in the Intel SDM 18.2.1 for PMU Version 1. The discriminant value for each event type is the value written to the event select register for a general purpose PMC.

Variants§

§

InstructionsRetired = 196_800

This event counts the number of instructions at retirement. For instructions that consist of multiple micro-ops, this event counts the retirement of the last micro-op of the instruction. This is counted by IA32_FIXED_CTR0.

§

UnhaltedCoreCycles = 196_668

This event counts core clock cycles when the clock signal on a specific core is running (not halted). This is counted by IA32_FIXED_CTR1.

§

UnhaltedReferenceCycles = 196_924

This event counts reference clock cycles at a fixed frequency while the clock signal on the core is running. The event counts at a fixed frequency, irrespective of core frequency changes due to performance state transitions. Current implementations use the TSC clock. This is counted by IA32_FIXED_CTR2.

§

LastLevelCacheReferences = 216_878

This event counts requests originating from the core that reference a cache line in the last level on-die cache. The event count includes speculation and cache line fills due to the first-level cache hardware prefetcher, but may exclude cache line fills due to other hardware-prefetchers.

§

LastLevelCacheMisses = 213_294

This event counts each cache miss condition for references to the last level on-die cache. The event count may include speculation and cache line fills due to the first-level cache hardware prefetcher, but may exclude cache line fills due to other hardware-prefetchers.

§

BranchInstructionsRetired = 196_804

This event counts branch instructions at retirement. It counts the retirement of the last micro-op of a branch instruction.

§

BranchMissesRetired = 196_805

This event counts mispredicted branch instructions at retirement. It counts the retirement of the last micro-op of a branch instruction in the architectural path of execution and experienced misprediction in the branch prediction hardware.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.