From ae20719576533e7d049cecccb0c938d39a2e5f58 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 5 Dec 2022 15:28:00 -0800 Subject: [PATCH] python: Remove 'scheduleTickExit' in favor of 'exitSimLoop' The commit https://gem5-review.googlesource.com/c/public/gem5/+/66231 added an API to m5 for scheduling to-tick exit events. This added the function `schedule_tick_exit`. It was later pointed out that this `schedule_tick_exit` event is redundant given the existance of `exitSimLoop`. This patch therefore removes `schedule_tick_exit` in favor of `exitSimLoop`. Change-Id: Ibecf00b98256a5da2868427d766bdc93f03c3f97 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/66451 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Reviewed-by: Andreas Sandberg Tested-by: kokoro Maintainer: Andreas Sandberg --- src/python/m5/simulate.py | 2 +- src/python/pybind11/event.cc | 2 -- src/sim/simulate.cc | 5 ----- src/sim/simulate.hh | 10 ---------- 4 files changed, 1 insertion(+), 18 deletions(-) diff --git a/src/python/m5/simulate.py b/src/python/m5/simulate.py index 744d95f9f6..18fb1d6cd4 100644 --- a/src/python/m5/simulate.py +++ b/src/python/m5/simulate.py @@ -259,7 +259,7 @@ def scheduleTickExitAbsolute( """ if tick <= curTick(): warn("Tick exit scheduled for the past. This will not be triggered.") - _m5.event.scheduleTickExit(tick=tick, exit_string=exit_string) + _m5.event.exitSimLoop(exit_string, 0, tick, 0, False) def drain(): diff --git a/src/python/pybind11/event.cc b/src/python/pybind11/event.cc index 827768f52f..95e6ddb844 100644 --- a/src/python/pybind11/event.cc +++ b/src/python/pybind11/event.cc @@ -109,8 +109,6 @@ pybind_init_event(py::module_ &m_native) py::arg("ticks") = MaxTick); m.def("setMaxTick", &set_max_tick, py::arg("tick")); m.def("getMaxTick", &get_max_tick, py::return_value_policy::copy); - m.def("scheduleTickExit", &schedule_tick_exit, py::arg("tick"), - py::arg("exit_string")); m.def("terminateEventQueueThreads", &terminateEventQueueThreads); m.def("exitSimLoop", &exitSimLoop); m.def("getEventQueue", []() { return curEventQueue(); }, diff --git a/src/sim/simulate.cc b/src/sim/simulate.cc index f147b3ec77..86d516d39a 100644 --- a/src/sim/simulate.cc +++ b/src/sim/simulate.cc @@ -266,11 +266,6 @@ Tick get_max_tick() return simulate_limit_event->when(); } -void schedule_tick_exit(Tick tick, std::string exit_string) -{ - new GlobalSimLoopExitEvent(tick, exit_string, 0); -} - void terminateEventQueueThreads() { diff --git a/src/sim/simulate.hh b/src/sim/simulate.hh index e7c4fa640c..eacf67cec2 100644 --- a/src/sim/simulate.hh +++ b/src/sim/simulate.hh @@ -67,16 +67,6 @@ void set_max_tick(Tick tick); */ Tick get_max_tick(); -/** - * @brief Schedule an exit event at a particular tick. - * - * Schedule a tick with a particular exit string. - * - * @param tick The tick at which the simulation loop should exit. - * @param exit_string The exit string explaining the exit. - */ -void schedule_tick_exit(Tick tick, std::string exit_string); - /** * Terminate helper threads when running in parallel mode. *