summaryrefslogtreecommitdiffstats
path: root/tools/perf/util
diff options
context:
space:
mode:
authorLeo Yan <leo.yan@linaro.org>2023-03-15 22:51:07 +0800
committerArnaldo Carvalho de Melo <acme@redhat.com>2023-03-15 16:48:43 -0300
commitf57a64142c04b6cbbfb2ce6493f0aefc237c3106 (patch)
tree98d608a7b0eb9cdb2d03f466b3174ff92ccc7d32 /tools/perf/util
parent41f1138e5c1cf11c5b469c3f891960b4ad05e886 (diff)
downloadlinux-stable-f57a64142c04b6cbbfb2ce6493f0aefc237c3106.tar.gz
linux-stable-f57a64142c04b6cbbfb2ce6493f0aefc237c3106.tar.bz2
linux-stable-f57a64142c04b6cbbfb2ce6493f0aefc237c3106.zip
perf kvm: Use histograms list to replace cached list
perf kvm tool defines its own cached list which is managed with RB tree, histograms also provide RB tree to manage data entries. Since now we have introduced histograms in the tool, it's not necessary to use the self defined list and we can directly use histograms list to manage KVM events. This patch changes to use histograms list to track KVM events, and it invokes the common function hists__output_resort_cb() to sort result, this also give us flexibility to extend more sorting key words easily. After histograms list supported, the cached list is redundant so remove the relevant code for it. Committer notes: kvm_hists__reinit() is only used by functions enclosed in: #if defined(HAVE_KVM_STAT_SUPPORT) && defined(HAVE_LIBTRACEEVENT) So do it with this new function as well. 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: James Clark <james.clark@arm.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>
Diffstat (limited to 'tools/perf/util')
-rw-r--r--tools/perf/util/kvm-stat.h7
1 files changed, 0 insertions, 7 deletions
diff --git a/tools/perf/util/kvm-stat.h b/tools/perf/util/kvm-stat.h
index fc30a72dfac1..3f0cbecb862c 100644
--- a/tools/perf/util/kvm-stat.h
+++ b/tools/perf/util/kvm-stat.h
@@ -36,7 +36,6 @@ struct perf_kvm_stat;
struct kvm_event {
struct list_head hash_entry;
- struct rb_node rb;
struct perf_kvm_stat *perf_kvm;
struct event_key key;
@@ -81,9 +80,6 @@ struct exit_reasons_table {
const char *reason;
};
-#define EVENTS_BITS 12
-#define EVENTS_CACHE_SIZE (1UL << EVENTS_BITS)
-
struct perf_kvm_stat {
struct perf_tool tool;
struct record_opts opts;
@@ -103,7 +99,6 @@ struct perf_kvm_stat {
struct kvm_events_ops *events_ops;
key_cmp_fun compare;
- struct list_head kvm_events_cache[EVENTS_CACHE_SIZE];
u64 total_time;
u64 total_count;
@@ -112,8 +107,6 @@ struct perf_kvm_stat {
struct intlist *pid_list;
- struct rb_root result;
-
int timerfd;
unsigned int display_time;
bool live;