perf kvm: Move up metrics helpers
authorLeo Yan <leo.yan@linaro.org>
Wed, 15 Mar 2023 14:50:59 +0000 (22:50 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 15 Mar 2023 19:42:55 +0000 (16:42 -0300)
This patch moves up the helper functions of event's metrics for later
adding code to call them.

No any functionality changes, but has a function renaming from
compare_kvm_event_{metric}() to cmp_event_{metric}().

Committer notes:

Those helper functions are only used if this is true:

  if defined(HAVE_KVM_STAT_SUPPORT) && defined(HAVE_LIBTRACEEVENT)

So keep them enclosed with that.

Reviewed-by: James Clark <james.clark@arm.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20230315145112.186603-2-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-kvm.c

index 3d2560ec6b37df6c93a5327cdf1b26cef424f8ba..c11f5454f35c544ab34f828979adb437b5c51306 100644 (file)
 #include <math.h>
 #include <perf/mmap.h>
 
+#if defined(HAVE_KVM_STAT_SUPPORT) && defined(HAVE_LIBTRACEEVENT)
+#define GET_EVENT_KEY(func, field)                                     \
+static u64 get_event_ ##func(struct kvm_event *event, int vcpu)                \
+{                                                                      \
+       if (vcpu == -1)                                                 \
+               return event->total.field;                              \
+                                                                       \
+       if (vcpu >= event->max_vcpu)                                    \
+               return 0;                                               \
+                                                                       \
+       return event->vcpu[vcpu].field;                                 \
+}
+
+#define COMPARE_EVENT_KEY(func, field)                                 \
+GET_EVENT_KEY(func, field)                                             \
+static int cmp_event_ ## func(struct kvm_event *one,                   \
+                             struct kvm_event *two, int vcpu)          \
+{                                                                      \
+       return get_event_ ##func(one, vcpu) >                           \
+              get_event_ ##func(two, vcpu);                            \
+}
+
+GET_EVENT_KEY(time, time);
+GET_EVENT_KEY(max, stats.max);
+GET_EVENT_KEY(min, stats.min);
+COMPARE_EVENT_KEY(count, stats.n);
+COMPARE_EVENT_KEY(mean, stats.mean);
+
+#define DEF_SORT_NAME_KEY(name, compare_key)                           \
+       { #name, cmp_event_ ## compare_key }
+
+static struct kvm_event_key keys[] = {
+       DEF_SORT_NAME_KEY(sample, count),
+       DEF_SORT_NAME_KEY(time, mean),
+       { NULL, NULL }
+};
+#endif // defined(HAVE_KVM_STAT_SUPPORT) && defined(HAVE_LIBTRACEEVENT)
+
 static const char *get_filename_for_perf_kvm(void)
 {
        const char *filename;
@@ -461,42 +499,6 @@ static bool handle_kvm_event(struct perf_kvm_stat *kvm,
        return true;
 }
 
-#define GET_EVENT_KEY(func, field)                                     \
-static u64 get_event_ ##func(struct kvm_event *event, int vcpu)                \
-{                                                                      \
-       if (vcpu == -1)                                                 \
-               return event->total.field;                              \
-                                                                       \
-       if (vcpu >= event->max_vcpu)                                    \
-               return 0;                                               \
-                                                                       \
-       return event->vcpu[vcpu].field;                                 \
-}
-
-#define COMPARE_EVENT_KEY(func, field)                                 \
-GET_EVENT_KEY(func, field)                                             \
-static int compare_kvm_event_ ## func(struct kvm_event *one,           \
-                                       struct kvm_event *two, int vcpu)\
-{                                                                      \
-       return get_event_ ##func(one, vcpu) >                           \
-                               get_event_ ##func(two, vcpu);           \
-}
-
-GET_EVENT_KEY(time, time);
-COMPARE_EVENT_KEY(count, stats.n);
-COMPARE_EVENT_KEY(mean, stats.mean);
-GET_EVENT_KEY(max, stats.max);
-GET_EVENT_KEY(min, stats.min);
-
-#define DEF_SORT_NAME_KEY(name, compare_key)                           \
-       { #name, compare_kvm_event_ ## compare_key }
-
-static struct kvm_event_key keys[] = {
-       DEF_SORT_NAME_KEY(sample, count),
-       DEF_SORT_NAME_KEY(time, mean),
-       { NULL, NULL }
-};
-
 static bool select_key(struct perf_kvm_stat *kvm)
 {
        int i;