aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDavid Ahern <dsahern@gmail.com>2013-08-02 16:05:42 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-08-07 16:35:27 -0400
commit8fdd84c44fd09d783caa4fb81d2d680b0cf07eeb (patch)
tree3a9133f7a5806c5cec33249ede75e2d2d60b0259 /tools
parent9c5014022f5d5b09abc8b713da81b3d2db319699 (diff)
perf kvm: Split out tracepoints from record args
Needed by kvm live command. Make record_args a local while we are messing with the args. Signed-off-by: David Ahern <dsahern@gmail.com> Reviewed-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Runzhen Wang <runzhen@linux.vnet.ibm.com> Cc: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Link: http://lkml.kernel.org/r/1375473947-64285-5-git-send-email-dsahern@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/builtin-kvm.c30
1 files changed, 19 insertions, 11 deletions
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
index 24b78aecc928..7d14a3a45401 100644
--- a/tools/perf/builtin-kvm.c
+++ b/tools/perf/builtin-kvm.c
@@ -801,16 +801,11 @@ exit:
801 return ret; 801 return ret;
802} 802}
803 803
804static const char * const record_args[] = { 804static const char * const kvm_events_tp[] = {
805 "record", 805 "kvm:kvm_entry",
806 "-R", 806 "kvm:kvm_exit",
807 "-f", 807 "kvm:kvm_mmio",
808 "-m", "1024", 808 "kvm:kvm_pio",
809 "-c", "1",
810 "-e", "kvm:kvm_entry",
811 "-e", "kvm:kvm_exit",
812 "-e", "kvm:kvm_mmio",
813 "-e", "kvm:kvm_pio",
814}; 809};
815 810
816#define STRDUP_FAIL_EXIT(s) \ 811#define STRDUP_FAIL_EXIT(s) \
@@ -826,8 +821,16 @@ kvm_events_record(struct perf_kvm_stat *kvm, int argc, const char **argv)
826{ 821{
827 unsigned int rec_argc, i, j; 822 unsigned int rec_argc, i, j;
828 const char **rec_argv; 823 const char **rec_argv;
824 const char * const record_args[] = {
825 "record",
826 "-R",
827 "-f",
828 "-m", "1024",
829 "-c", "1",
830 };
829 831
830 rec_argc = ARRAY_SIZE(record_args) + argc + 2; 832 rec_argc = ARRAY_SIZE(record_args) + argc + 2 +
833 2 * ARRAY_SIZE(kvm_events_tp);
831 rec_argv = calloc(rec_argc + 1, sizeof(char *)); 834 rec_argv = calloc(rec_argc + 1, sizeof(char *));
832 835
833 if (rec_argv == NULL) 836 if (rec_argv == NULL)
@@ -836,6 +839,11 @@ kvm_events_record(struct perf_kvm_stat *kvm, int argc, const char **argv)
836 for (i = 0; i < ARRAY_SIZE(record_args); i++) 839 for (i = 0; i < ARRAY_SIZE(record_args); i++)
837 rec_argv[i] = STRDUP_FAIL_EXIT(record_args[i]); 840 rec_argv[i] = STRDUP_FAIL_EXIT(record_args[i]);
838 841
842 for (j = 0; j < ARRAY_SIZE(kvm_events_tp); j++) {
843 rec_argv[i++] = "-e";
844 rec_argv[i++] = STRDUP_FAIL_EXIT(kvm_events_tp[j]);
845 }
846
839 rec_argv[i++] = STRDUP_FAIL_EXIT("-o"); 847 rec_argv[i++] = STRDUP_FAIL_EXIT("-o");
840 rec_argv[i++] = STRDUP_FAIL_EXIT(kvm->file_name); 848 rec_argv[i++] = STRDUP_FAIL_EXIT(kvm->file_name);
841 849