summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2018-05-11 11:06:14 +0100
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2018-09-14 12:53:27 +0100
commit742a19948f0e8c90bb63054309ca3a0f4d4dec31 (patch)
treeefc870565cbc4572d5d2ba390da123ab0cd6a057 /scripts
parent75573db55243d1e5d9169b5e4d485bc929e147fd (diff)
media-bench: Write out trace files directly.
Instead of relying on shell redirection. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/media-bench.pl24
1 files changed, 18 insertions, 6 deletions
diff --git a/scripts/media-bench.pl b/scripts/media-bench.pl
index 9bf8c878..77e75c78 100755
--- a/scripts/media-bench.pl
+++ b/scripts/media-bench.pl
@@ -162,6 +162,21 @@ sub run_workload
return ($time, $wps);
}
+sub dump_cmd
+{
+ my ($cmd, $file) = @_;
+
+ show_cmd("$cmd > $file");
+
+ open FOUT, '>', $file or die;
+ open TIN, "$cmd |" or die;
+ while (<TIN>) {
+ print FOUT $_;
+ }
+ close TIN;
+ close FOUT;
+}
+
sub trace_workload
{
my ($wrk, $b, $r, $c) = @_;
@@ -212,15 +227,12 @@ sub trace_workload
$b =~ s/[ <>]/_/g;
$file = "${wrk}_${b}_-r${r}_-c${c}";
- $cmd = "perf script > ${file}.trace";
- show_cmd($cmd);
- system($cmd) == 0 or die;
+ dump_cmd('perf script', "${file}.trace");
$cmd = "perf script | $tracepl --html -x ctxsave -s -c ";
$cmd .= join ' ', map("-i $_", @skip_engine);
- $cmd .= " > ${file}.html";
- show_cmd($cmd);
- system($cmd) == 0 or die;
+
+ dump_cmd($cmd, "${file}.html");
return \%engines;
}