OLD | NEW |
1 import re, pickle, os, logging | 1 import re, pickle, os, logging |
2 from autotest_lib.client.bin import utils, test | 2 from autotest_lib.client.bin import utils, test |
3 | 3 |
4 | 4 |
5 class kernbench(test.test): | 5 class kernbench(test.test): |
6 version = 4 | 6 version = 4 |
7 | 7 |
8 def initialize(self): | 8 def initialize(self): |
9 self.job.require_gcc() | 9 self.job.require_gcc() |
10 self.job.drop_caches_between_iterations = False | 10 self.job.drop_caches_between_iterations = False |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 return kernel | 42 return kernel |
43 | 43 |
44 | 44 |
45 def warmup(self, threads=None, version=None): | 45 def warmup(self, threads=None, version=None): |
46 if threads: | 46 if threads: |
47 self.threads = threads | 47 self.threads = threads |
48 else: | 48 else: |
49 self.threads = self.job.cpu_count()*2 | 49 self.threads = self.job.cpu_count()*2 |
50 | 50 |
51 self.kernel = self.__init_tree(version) | 51 self.kernel = self.__init_tree(version) |
| 52 logging.info("Warmup run ...") |
52 logfile = os.path.join(self.debugdir, 'build_log') | 53 logfile = os.path.join(self.debugdir, 'build_log') |
53 | 54 try: |
54 logging.info("Warmup run ...") | 55 self.kernel.build_timed(self.threads, output=logfile) # warmup run |
55 self.kernel.build_timed(self.threads, output=logfile) # warmup run | 56 finally: |
| 57 if os.path.exists(logfile): |
| 58 utils.system("gzip -9 '%s'" % logfile, ignore_status=True) |
56 | 59 |
57 | 60 |
58 def run_once(self): | 61 def run_once(self): |
59 logging.info("Performance run, iteration %d," | 62 logging.info("Performance run, iteration %d," |
60 " %d threads" % (self.iteration, self.threads)) | 63 " %d threads" % (self.iteration, self.threads)) |
61 if self.iteration: | 64 if self.iteration: |
62 timefile = 'time.%d' % self.iteration | 65 timefile = 'time.%d' % self.iteration |
63 else: | 66 else: |
64 timefile = 'time.profile' | 67 timefile = 'time.profile' |
65 self.timefile = os.path.join(self.resultsdir, timefile) | 68 self.timefile = os.path.join(self.resultsdir, timefile) |
66 self.kernel.build_timed(self.threads, self.timefile) | 69 self.kernel.build_timed(self.threads, self.timefile) |
67 | 70 |
68 | 71 |
69 def cleanup(self): | 72 def cleanup(self): |
70 self.kernel.clean(logged=False) # Don't leave litter lying around | 73 self.kernel.clean(logged=False) # Don't leave litter lying around |
71 | 74 |
72 | 75 |
73 def postprocess_iteration(self): | 76 def postprocess_iteration(self): |
74 os.chdir(self.resultsdir) | 77 os.chdir(self.resultsdir) |
75 utils.system("grep -h elapsed %s >> time" % self.timefile) | 78 utils.system("grep -h elapsed %s >> time" % self.timefile) |
76 | 79 |
77 results = open(self.timefile).read() | 80 results = open(self.timefile).read() |
78 (user, system, elapsed) = utils.extract_all_time_results(results)[0] | 81 (user, system, elapsed) = utils.extract_all_time_results(results)[0] |
79 self.write_perf_keyval({'user':user, | 82 self.write_perf_keyval({'user':user, |
80 'system':system, | 83 'system':system, |
81 'elapsed':elapsed | 84 'elapsed':elapsed |
82 }) | 85 }) |
OLD | NEW |