diff options
author | Dongsheng Yang <yangds.fnst@cn.fujitsu.com> | 2013-12-06 17:25:51 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-12-09 13:23:56 -0500 |
commit | e1a2b174dbbe08dce12bde9f05f64dbbae652bed (patch) | |
tree | 9d2c2694b58eb2a323ddd612ce62c1f13f793a2b /tools/perf | |
parent | 6f1d0c866261ec1e42850b2bf760484c100b6dd6 (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.c | 7 | ||||
-rw-r--r-- | tools/perf/util/util.c | 14 | ||||
-rw-r--r-- | tools/perf/util/util.h | 2 |
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 | |||
486 | const 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 | ||
322 | int filename__read_int(const char *filename, int *value); | 322 | int filename__read_int(const char *filename, int *value); |
323 | int filename__read_str(const char *filename, char **buf, size_t *sizep); | 323 | int filename__read_str(const char *filename, char **buf, size_t *sizep); |
324 | |||
325 | const char *get_filename_for_perf_kvm(void); | ||
324 | #endif /* GIT_COMPAT_UTIL_H */ | 326 | #endif /* GIT_COMPAT_UTIL_H */ |