perf_event_mmap_page
Fields of this type
Fields
- version:u32
- Version number of this struct
- compt_version:u32
- Lowest version this is compatible with
- lock:u32
- Seqlock for synchronization
- index:u32
- Hardware counter identifier
- offset:i64
- Add to hardware counter value
- time_enabled:u64
- Time the event was active
- time_running:u64
- Time the event was running
- capabilities:packed struct(u64) { /// If kernel version < 3.12 /// this rapresents both user_rdpmc and user_time (user_rdpmc | user_time) /// otherwise deprecated. bit0: bool, /// Set if bit0 is deprecated bit0_is_deprecated: bool, /// Hardware support for userspace read of performance counters user_rdpmc: bool, /// Hardware support for a constant non stop timestamp counter (Eg. TSC on x86) user_time: bool, /// The time_zero field is used user_time_zero: bool, /// The time_{cycle,mask} fields are used user_time_short: bool, ____res: u58, }
- pcm_width:u16
- If capabilities.user_rdpmc
- time_shift:u16
- If capabilities.user_time the following fields can be used to compute the time
- time_mult:u32
- time_offset:u64
- time_zero:u64
- If capabilities.user_time_zero the hardware clock can be calculated from
- size:u32
- Header size
- __reserved_1:u32
- time_cycles:u64
- The following fields are used to compute the timestamp when the hardware clock
- time_mask:u64
- __reserved:[116 * 8]u8
- data_head:u64
- Head in the data section
- data_tail:u64
- Userspace written tail
- data_offset:u64
- Where the buffer starts
- data_size:u64
- Data buffer size
- aux_head:u64
- aux_tail:u64
- aux_offset:u64
- aux_size:u64