changeset cc02ad629b36 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=cc02ad629b36
description:
        tests: suppress output on switcheroo tests

        The output from the switcheroo tests is voluminous and
        (because it includes timestamps) highly sensitive to
        minor changes, leading to extremely large updates to the
        reference outputs.  This patch addresses this problem
        by suppressing output from the tests.  An internal
        parameter can be set to enable the output.  Wiring that
        up to a command-line flag (perhaps even the rudimantary
        -v/-q options in m5/main.py) is left for future work.

diffstat:

 src/python/m5/simulate.py   |   7 +++++--
 tests/configs/switcheroo.py |  15 +++++++++++----
 2 files changed, 16 insertions(+), 6 deletions(-)

diffs (73 lines):

diff -r 329b8a20958b -r cc02ad629b36 src/python/m5/simulate.py
--- a/src/python/m5/simulate.py Tue Nov 12 11:46:48 2013 -0500
+++ b/src/python/m5/simulate.py Thu Nov 14 15:03:42 2013 -0800
@@ -218,7 +218,7 @@
     else:
         print "System already in target mode. Memory mode unchanged."
 
-def switchCpus(system, cpuList, do_drain=True):
+def switchCpus(system, cpuList, do_drain=True, verbose=True):
     """Switch CPUs in a system.
 
     By default, this method drains and resumes the system. This
@@ -238,7 +238,10 @@
     Keyword Arguments:
       do_drain -- Perform a drain/resume of the system when switching.
     """
-    print "switching cpus"
+
+    if verbose:
+        print "switching cpus"
+
     if not isinstance(cpuList, list):
         raise RuntimeError, "Must pass a list to this function"
     for item in cpuList:
diff -r 329b8a20958b -r cc02ad629b36 tests/configs/switcheroo.py
--- a/tests/configs/switcheroo.py       Tue Nov 12 11:46:48 2013 -0500
+++ b/tests/configs/switcheroo.py       Thu Nov 14 15:03:42 2013 -0800
@@ -70,7 +70,7 @@
     def first(self):
         return self.cpus[self.first_cpu]
 
-def run_test(root, switcher=None, freq=1000):
+def run_test(root, switcher=None, freq=1000, verbose=False):
     """Test runner for CPU switcheroo tests.
 
     The switcheroo test runner is used to switch CPUs in a system that
@@ -91,6 +91,7 @@
       switcher -- CPU switcher implementation. See Sequential for
                   an example implementation.
       period -- Switching frequency in Hz.
+      verbose -- Enable output at each switch (suppressed by default).
     """
 
     if switcher == None:
@@ -100,6 +101,11 @@
     system = root.system
     system.mem_mode = type(current_cpu).memory_mode()
 
+    # Suppress "Entering event queue" messages since we get tons of them.
+    # Worse yet, they include the timestamp, which makes them highly
+    # variable and unsuitable for comparing as test outputs.
+    m5.internal.core.cvar.want_info = verbose
+
     # instantiate configuration
     m5.instantiate()
 
@@ -113,12 +119,13 @@
         if exit_cause == "simulate() limit reached":
             next_cpu = switcher.next()
 
-            print "Switching CPUs..."
-            print "Next CPU: %s" % type(next_cpu)
+            if verbose:
+                print "Switching CPUs..."
+                print "Next CPU: %s" % type(next_cpu)
             m5.drain(system)
             if current_cpu != next_cpu:
                 m5.switchCpus(system, [ (current_cpu, next_cpu) ],
-                              do_drain=False)
+                              do_drain=False, verbose=verbose)
             else:
                 print "Source CPU and destination CPU are the same, 
skipping..."
             m5.resume(system)
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to