summaryrefslogtreecommitdiff
path: root/src/energy.rs
diff options
context:
space:
mode:
authorLennard Kittner <lennard@kittner.dev>2025-03-30 19:32:15 +0200
committerLennard Kittner <lennard@kittner.dev>2025-03-30 19:32:15 +0200
commit6e57d63e13cf157159e788b771b7d09f145dbd7a (patch)
tree797952431ad93eaad8bc0a97c33c60a32ce13414 /src/energy.rs
parent8d600e7536f6319c3e06fb26fc44dcfd38601439 (diff)
Move estimator trait
Use frequency service in perf estimator
Diffstat (limited to 'src/energy.rs')
-rw-r--r--src/energy.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/energy.rs b/src/energy.rs
index 6490efd..d3845a8 100644
--- a/src/energy.rs
+++ b/src/energy.rs
@@ -1,7 +1,9 @@
mod budget;
+pub mod estimator;
pub mod rapl;
mod trackers;
+use crate::energy::estimator::Estimator;
use std::collections::{BTreeSet, HashMap};
use std::ops::RangeInclusive;
use std::sync::{mpsc, Arc, RwLock};
@@ -14,7 +16,7 @@ use crate::Pid;
use dashmap::DashMap;
pub use budget::BudgetPolicy;
-pub use trackers::{Estimator, KernelDriver, PerfEstimator};
+pub use trackers::{KernelDriver, PerfEstimator};
pub enum Request {
NewTask(Pid),
@@ -248,7 +250,7 @@ pub fn start_energy_service(
// Create the appropriate estimator based on configuration
let estimator: Box<dyn Estimator> = if use_mocking {
- Box::new(PerfEstimator::default())
+ Box::new(PerfEstimator::new(shared_cpu_current_frequencies.clone()))
} else {
Box::new(KernelDriver::default())
};