summaryrefslogtreecommitdiff
path: root/src/energy.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/energy.rs')
-rw-r--r--src/energy.rs26
1 files changed, 1 insertions, 25 deletions
diff --git a/src/energy.rs b/src/energy.rs
index 8400dd7..9fe37b5 100644
--- a/src/energy.rs
+++ b/src/energy.rs
@@ -10,10 +10,7 @@ use std::time::Duration;
use crate::Pid;
use dashmap::DashMap;
-use crate::energy::rapl::PackageEnergy;
pub use budget::BudgetPolicy;
-use perf_event::events::Event;
-use perf_event::{Builder, Counter};
pub use trackers::{Estimator, KernelDriver, PerfEstimator};
pub enum Request {
@@ -35,8 +32,6 @@ pub struct EnergyService {
shared_budgets: Arc<DashMap<Pid, u64>>,
request_receiver: mpsc::Receiver<Request>,
update_interval: Duration,
- package_energy: PackageEnergy,
- package_energy_counter: Counter,
}
impl EnergyService {
@@ -46,8 +41,6 @@ impl EnergyService {
shared_budgets: Arc<DashMap<Pid, u64>>,
request_receiver: mpsc::Receiver<Request>,
update_interval: Duration,
- package_energy: PackageEnergy,
- package_energy_counter: Counter,
) -> Self {
Self {
estimator,
@@ -57,8 +50,6 @@ impl EnergyService {
shared_budgets,
request_receiver,
update_interval,
- package_energy,
- package_energy_counter,
}
}
@@ -142,8 +133,7 @@ impl EnergyService {
}
fn package_energy(&mut self) -> f64 {
- self.package_energy
- .to_joules(self.package_energy_counter.read().unwrap_or(0))
+ rapl::read_package_energy().unwrap()
}
pub fn process_energy(&self, pid: Pid) -> Option<u64> {
@@ -179,18 +169,6 @@ pub fn start_energy_service(
// shouldn't be a problem because we are privileged
// if PackageEnergy::check_paranoid().unwrap_or(3) > 0 {}
- let package_energy = PackageEnergy::new().unwrap();
-
- // Any cpu should be fine because the package power should be the same for every cpu
- let mut package_energy_counter = Builder::new()
- .kind(Event::Raw(
- package_energy.get_type(),
- package_energy.get_event_config(),
- ))
- .any_cpu()
- .build()?;
- package_energy_counter.enable()?;
-
// Create and start the energy service
let service = EnergyService::new(
estimator,
@@ -198,8 +176,6 @@ pub fn start_energy_service(
shared_budgets,
request_receiver,
Duration::from_millis(50), // 50ms update interval
- package_energy,
- package_energy_counter,
);
service.run();