aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorDongsheng Yang <yangds.fnst@cn.fujitsu.com>2013-12-06 17:25:51 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-12-09 13:23:56 -0500
commite1a2b174dbbe08dce12bde9f05f64dbbae652bed (patch)
tree9d2c2694b58eb2a323ddd612ce62c1f13f793a2b /tools/perf
parent6f1d0c866261ec1e42850b2bf760484c100b6dd6 (diff)
perf kvm: Move code to generate filename for perf-kvm to function.
The code in builtin-kvm.c to generate filename for perf-kvm is useful to other command such as builtin-diff. This patch move the related code form builtin-kvm.c to util/util.c and wrap them in a function named get_filename_for_perf_kvm. Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com> Link: http://lkml.kernel.org/r/5e09a5c47e8a495e888cbdc65a6fafb2c950f529.1386368672.git.yangds.fnst@cn.fujitsu.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/builtin-kvm.c7
-rw-r--r--tools/perf/util/util.c14
-rw-r--r--tools/perf/util/util.h2
3 files changed, 17 insertions, 6 deletions
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
index c2e5d56a291d..c6fa3cbd45a9 100644
--- a/tools/perf/builtin-kvm.c
+++ b/tools/perf/builtin-kvm.c
@@ -1713,12 +1713,7 @@ int cmd_kvm(int argc, const char **argv, const char *prefix __maybe_unused)
1713 perf_guest = 1; 1713 perf_guest = 1;
1714 1714
1715 if (!file_name) { 1715 if (!file_name) {
1716 if (perf_host && !perf_guest) 1716 file_name = get_filename_for_perf_kvm();
1717 file_name = strdup("perf.data.host");
1718 else if (!perf_host && perf_guest)
1719 file_name = strdup("perf.data.guest");
1720 else
1721 file_name = strdup("perf.data.kvm");
1722 1717
1723 if (!file_name) { 1718 if (!file_name) {
1724 pr_err("Failed to allocate memory for filename\n"); 1719 pr_err("Failed to allocate memory for filename\n");
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index bae8756a4eb1..4a57609c0b43 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -482,3 +482,17 @@ int filename__read_str(const char *filename, char **buf, size_t *sizep)
482 close(fd); 482 close(fd);
483 return err; 483 return err;
484} 484}
485
486const char *get_filename_for_perf_kvm(void)
487{
488 const char *filename;
489
490 if (perf_host && !perf_guest)
491 filename = strdup("perf.data.host");
492 else if (!perf_host && perf_guest)
493 filename = strdup("perf.data.guest");
494 else
495 filename = strdup("perf.data.kvm");
496
497 return filename;
498}
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 659abf30e01b..0171213d1d4d 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -321,4 +321,6 @@ void free_srcline(char *srcline);
321 321
322int filename__read_int(const char *filename, int *value); 322int filename__read_int(const char *filename, int *value);
323int filename__read_str(const char *filename, char **buf, size_t *sizep); 323int filename__read_str(const char *filename, char **buf, size_t *sizep);
324
325const char *get_filename_for_perf_kvm(void);
324#endif /* GIT_COMPAT_UTIL_H */ 326#endif /* GIT_COMPAT_UTIL_H */