diff options
| author | Dennis Kobert <dennis@kobert.dev> | 2025-03-10 21:36:30 +0100 |
|---|---|---|
| committer | Dennis Kobert <dennis@kobert.dev> | 2025-03-25 15:52:04 +0100 |
| commit | 776dee32aca73ded5c0720afbe25ef2aae7b67f3 (patch) | |
| tree | 1e4c8b9bde5c944869134e0ed751315efe09198a /src/main.rs | |
| parent | c2d63b96cbbd3be653fa0023fadae7df3babaf32 (diff) | |
Implement benchmarking
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index d3c9628..f3d4992 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,9 @@ mod bpf_skel; +use benchmark::BenchmarkScheduler; pub use bpf_skel::*; pub mod bpf_intf; +mod benchmark; mod e_core_selector; mod energy; mod freq; @@ -28,6 +30,14 @@ fn main() -> Result<()> { .required(false), ) .arg( + Arg::new("benchmark") + .short('b') + .long("benchmark") + .help("Use this flag to enable benckmarking mode") + .action(ArgAction::SetTrue) + .required(false), + ) + .arg( Arg::new("power_cap") .long("energy_cap") .help("Set a power cap for the processor") @@ -38,9 +48,16 @@ fn main() -> Result<()> { let power_cap = *matches.get_one::<u64>("power_cap").unwrap_or(&u64::MAX); let use_mocking = matches.get_flag("mock"); + let benchmark = matches.get_flag("benchmark"); // Initialize and load the scheduler. let mut open_object = MaybeUninit::uninit(); + let log_path = "logs.csv"; + if benchmark { + let mut sched = BenchmarkScheduler::init(&mut open_object, log_path)?; + sched.run(); + return Ok(()); + } loop { let mut sched = Scheduler::init(&mut open_object, use_mocking, power_cap)?; if !sched.run()?.should_restart() { |
