diff --git a/libs/wlgen/wlgen/rta.py b/libs/wlgen/wlgen/rta.py index 94acd60965a1d5b0923032d33c66a2d20326f280..1b792ffe92047d1b0471873c5a8959ce104e2036 100644 --- a/libs/wlgen/wlgen/rta.py +++ b/libs/wlgen/wlgen/rta.py @@ -119,6 +119,18 @@ class RTA(Workload): logging.info('%s', "{" + ", ".join('"%r": %r' % (key, pload[key]) for key in pload) + "}") + # Sanity check calibration values for big.LITTLE systems + if 'bl' in target.modules: + bcpu = target.bl.bigs_online[0] + lcpu = target.bl.littles_online[0] + if pload[bcpu] > pload[lcpu]: + logging.warning("Calibration values reports big cores less " + "capable than LITTLE cores") + raise RuntimeError("Calibration failed: try again or file a bug") + bigs_speedup = ((float(pload[lcpu]) / pload[bcpu]) - 1) * 100 + logging.info("big cores are ~%.0f%% more capable than LITTLE cores", + bigs_speedup) + return pload def __postrun(self, params): @@ -502,7 +514,7 @@ class RTA(Workload): self.rta_cmd = self.target.executables_directory + '/rt-app' self.rta_conf = self.run_dir + '/' + self.json - self.command = '{0:s} {1:s}'.format(self.rta_cmd, self.rta_conf) + self.command = '{0:s} {1:s} 2>&1'.format(self.rta_cmd, self.rta_conf) # Set and return the test label self.test_label = '{0:s}_{1:02d}'.format(self.name, self.exc_id)