diff options
author | David Ahern <dsahern@gmail.com> | 2013-08-02 16:05:42 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-08-07 16:35:27 -0400 |
commit | 8fdd84c44fd09d783caa4fb81d2d680b0cf07eeb (patch) | |
tree | 3a9133f7a5806c5cec33249ede75e2d2d60b0259 /tools | |
parent | 9c5014022f5d5b09abc8b713da81b3d2db319699 (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.c | 30 |
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 | ||
804 | static const char * const record_args[] = { | 804 | static 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 | ||