perf_event: simplify PerfEventScope

reviewable/pr1386/r3
Tamir Duberstein 1 week ago
parent 866cbe4837
commit 7e405c216e
No known key found for this signature in database

@ -294,24 +294,17 @@ pub enum SamplePolicy {
/// The scope of a PerfEvent
#[derive(Debug, Clone)]
pub enum PerfEventScope {
/// Calling process, any cpu
CallingProcessAnyCpu,
/// calling process, one cpu
CallingProcessOneCpu {
/// cpu id
cpu: u32,
},
/// one process, any cpu
OneProcessAnyCpu {
/// process id
pid: u32,
/// calling process
CallingProcess {
/// cpu id or any cpu if None
cpu: Option<u32>,
},
/// one process, one cpu
OneProcessOneCpu {
/// cpu id
cpu: u32,
/// one process
OneProcess {
/// process id
pid: u32,
pid: i32,
/// cpu id or any cpu if None
cpu: Option<u32>,
},
/// all processes, one cpu
AllProcessesOneCpu {
@ -427,10 +420,8 @@ impl PerfEvent {
SamplePolicy::Frequency(frequency) => (0, Some(frequency)),
};
let (pid, cpu) = match scope {
PerfEventScope::CallingProcessAnyCpu => (0, -1),
PerfEventScope::CallingProcessOneCpu { cpu } => (0, cpu as i32),
PerfEventScope::OneProcessAnyCpu { pid } => (pid as i32, -1),
PerfEventScope::OneProcessOneCpu { cpu, pid } => (pid as i32, cpu as i32),
PerfEventScope::CallingProcess { cpu } => (0, cpu.map_or(-1, |cpu| cpu as i32)),
PerfEventScope::OneProcess { pid, cpu } => (pid, cpu.map_or(-1, |cpu| cpu as i32)),
PerfEventScope::AllProcessesOneCpu { cpu } => (-1, cpu as i32),
};
let fd = perf_event_open(

@ -5508,14 +5508,11 @@ pub fn aya::programs::perf_event::PerfEventConfig::from(t: T) -> T
pub enum aya::programs::perf_event::PerfEventScope
pub aya::programs::perf_event::PerfEventScope::AllProcessesOneCpu
pub aya::programs::perf_event::PerfEventScope::AllProcessesOneCpu::cpu: u32
pub aya::programs::perf_event::PerfEventScope::CallingProcessAnyCpu
pub aya::programs::perf_event::PerfEventScope::CallingProcessOneCpu
pub aya::programs::perf_event::PerfEventScope::CallingProcessOneCpu::cpu: u32
pub aya::programs::perf_event::PerfEventScope::OneProcessAnyCpu
pub aya::programs::perf_event::PerfEventScope::OneProcessAnyCpu::pid: u32
pub aya::programs::perf_event::PerfEventScope::OneProcessOneCpu
pub aya::programs::perf_event::PerfEventScope::OneProcessOneCpu::cpu: u32
pub aya::programs::perf_event::PerfEventScope::OneProcessOneCpu::pid: u32
pub aya::programs::perf_event::PerfEventScope::CallingProcess
pub aya::programs::perf_event::PerfEventScope::CallingProcess::cpu: core::option::Option<u32>
pub aya::programs::perf_event::PerfEventScope::OneProcess
pub aya::programs::perf_event::PerfEventScope::OneProcess::cpu: core::option::Option<u32>
pub aya::programs::perf_event::PerfEventScope::OneProcess::pid: i32
impl core::clone::Clone for aya::programs::perf_event::PerfEventScope
pub fn aya::programs::perf_event::PerfEventScope::clone(&self) -> aya::programs::perf_event::PerfEventScope
impl core::fmt::Debug for aya::programs::perf_event::PerfEventScope
@ -7946,14 +7943,11 @@ pub fn aya::programs::LsmAttachType::from(t: T) -> T
pub enum aya::programs::PerfEventScope
pub aya::programs::PerfEventScope::AllProcessesOneCpu
pub aya::programs::PerfEventScope::AllProcessesOneCpu::cpu: u32
pub aya::programs::PerfEventScope::CallingProcessAnyCpu
pub aya::programs::PerfEventScope::CallingProcessOneCpu
pub aya::programs::PerfEventScope::CallingProcessOneCpu::cpu: u32
pub aya::programs::PerfEventScope::OneProcessAnyCpu
pub aya::programs::PerfEventScope::OneProcessAnyCpu::pid: u32
pub aya::programs::PerfEventScope::OneProcessOneCpu
pub aya::programs::PerfEventScope::OneProcessOneCpu::cpu: u32
pub aya::programs::PerfEventScope::OneProcessOneCpu::pid: u32
pub aya::programs::PerfEventScope::CallingProcess
pub aya::programs::PerfEventScope::CallingProcess::cpu: core::option::Option<u32>
pub aya::programs::PerfEventScope::OneProcess
pub aya::programs::PerfEventScope::OneProcess::cpu: core::option::Option<u32>
pub aya::programs::PerfEventScope::OneProcess::pid: i32
impl core::clone::Clone for aya::programs::perf_event::PerfEventScope
pub fn aya::programs::perf_event::PerfEventScope::clone(&self) -> aya::programs::perf_event::PerfEventScope
impl core::fmt::Debug for aya::programs::perf_event::PerfEventScope

Loading…
Cancel
Save