From 7263d4ee073e1ff17648971a077f7057ce2f4076 Mon Sep 17 00:00:00 2001 From: bcamus Date: Fri, 4 Aug 2017 18:16:00 +0200 Subject: [PATCH 1/1] fixing a bug in PMs energy consumptions when suspending and resuming VMs. --- src/surf/cpu_interface.cpp | 12 ++++++++++++ src/surf/cpu_interface.hpp | 3 +++ 2 files changed, 15 insertions(+) diff --git a/src/surf/cpu_interface.cpp b/src/surf/cpu_interface.cpp index 955de3a1bc..7e992a6d43 100644 --- a/src/surf/cpu_interface.cpp +++ b/src/surf/cpu_interface.cpp @@ -210,6 +210,18 @@ void CpuAction::updateRemainingLazy(double now) simgrid::xbt::signal CpuAction::onStateChange; +void CpuAction::suspend(){ + Action::State previous = getState(); + onStateChange(this, previous); + Action::suspend(); +} + +void CpuAction::resume(){ + Action::State previous = getState(); + onStateChange(this, previous); + Action::resume(); +} + void CpuAction::setState(Action::State state){ Action::State previous = getState(); Action::setState(state); diff --git a/src/surf/cpu_interface.hpp b/src/surf/cpu_interface.hpp index 920f92f6f0..fc67386f29 100644 --- a/src/surf/cpu_interface.hpp +++ b/src/surf/cpu_interface.hpp @@ -168,6 +168,9 @@ static simgrid::xbt::signal onShareChange; void updateRemainingLazy(double now) override; std::list cpus(); + + void suspend() override; + void resume() override; }; } -- 2.20.1