[−][src]Enum perf_event::events::Hardware
Hardware counters.
These are counters implemented by the processor itself. Such counters vary from one architecture to the next, and even different models within a particular architecture will often change the way they expose this data. This is a selection of portable names for values that can be obtained on a wide variety of systems.
Each variant of this enum corresponds to a particular PERF_COUNT_HW_
...
value supported by the perf_event_open
system call.
Variants
Total cycles. Be wary of what happens during CPU frequency scaling.
Retired instructions. Be careful, these can be affected by various issues, most notably hardware interrupt counts.
Cache accesses. Usually this indicates Last Level Cache accesses but this may vary depending on your CPU. This may include prefetches and coherency messages; again this depends on the design of your CPU.
Cache misses. Usually this indicates Last Level Cache misses; this is intended to be used in conjunction with the PERF_COUNT_HW_CACHE_REFERENCES event to calculate cache miss rates.
Retired branch instructions. Prior to Linux 2.6.35, this used the wrong event on AMD processors.
Mispredicted branch instructions.
Bus cycles, which can be different from total cycles.
Stalled cycles during issue. (since Linux 3.0)
Stalled cycles during retirement. (since Linux 3.0)
Total cycles; not affected by CPU frequency scaling. (since Linux 3.3)
Trait Implementations
impl Clone for Hardware
[src]
impl Copy for Hardware
[src]
impl Debug for Hardware
[src]
impl Eq for Hardware
[src]
impl From<Hardware> for Event
[src]
impl PartialEq<Hardware> for Hardware
[src]
impl StructuralEq for Hardware
[src]
impl StructuralPartialEq for Hardware
[src]
Auto Trait Implementations
impl RefUnwindSafe for Hardware
impl Send for Hardware
impl Sync for Hardware
impl Unpin for Hardware
impl UnwindSafe for Hardware
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,