Struct raw_cpuid::PerformanceMonitoringInfo

source ·
pub struct PerformanceMonitoringInfo { /* private fields */ }
Expand description

Info about performance monitoring – how many counters etc. (LEAF=0x0A)

§Platforms

❌ AMD ✅ Intel

Implementations§

source§

impl PerformanceMonitoringInfo

source

pub fn version_id(&self) -> u8

Version ID of architectural performance monitoring. (Bits 07 - 00)

source

pub fn number_of_counters(&self) -> u8

Number of general-purpose performance monitoring counter per logical processor. (Bits 15- 08)

source

pub fn counter_bit_width(&self) -> u8

Bit width of general-purpose, performance monitoring counter. (Bits 23 - 16)

source

pub fn ebx_length(&self) -> u8

Length of EBX bit vector to enumerate architectural performance monitoring events. (Bits 31 - 24)

source

pub fn fixed_function_counters(&self) -> u8

Number of fixed-function performance counters (if Version ID > 1). (Bits 04 - 00)

source

pub fn fixed_function_counters_bit_width(&self) -> u8

Bit width of fixed-function performance counters (if Version ID > 1). (Bits 12- 05)

source

pub fn has_any_thread_deprecation(&self) -> bool

AnyThread deprecation

source

pub fn is_core_cyc_ev_unavailable(&self) -> bool

Core cycle event not available if 1.

source

pub fn is_inst_ret_ev_unavailable(&self) -> bool

Instruction retired event not available if 1.

source

pub fn is_ref_cycle_ev_unavailable(&self) -> bool

Reference cycles event not available if 1.

source

pub fn is_cache_ref_ev_unavailable(&self) -> bool

Last-level cache reference event not available if 1.

source

pub fn is_ll_cache_miss_ev_unavailable(&self) -> bool

Last-level cache misses event not available if 1.

source

pub fn is_branch_inst_ret_ev_unavailable(&self) -> bool

Branch instruction retired event not available if 1.

source

pub fn is_branch_midpred_ev_unavailable(&self) -> bool

Branch mispredict retired event not available if 1.

Trait Implementations§

source§

impl Debug for PerformanceMonitoringInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where 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 T
where 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.