From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Leo Yan <leo.yan@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 00/14] perf kvm: Support histograms and TUI mode
Date: Mon, 27 Feb 2023 18:40:13 -0300 [thread overview]
Message-ID: <Y/0jPa9xu371PtRS@kernel.org> (raw)
In-Reply-To: <20230226042053.1492409-1-leo.yan@linaro.org>
Em Sun, Feb 26, 2023 at 12:20:39PM +0800, Leo Yan escreveu:
> This patch set is to enable histograms and (partially) TUI mode in perf
> kvm tool.
>
> Current tool uses its own RB tree to maintain KVM events, it's not easy
> to extend to support more metrics and have no chance to support TUI
> mode. For this reason, we need firstly to refactor the code by using
> histograms and its associated RB tree; based on histograms we can add
> dimensions for KVM event statistics. Finally, we need to enable TUI
> mode in the tool. This is the methodology applied in this series.
>
> This series enables TUI mode for 'perf kvm stat report', but it doesn't
> support TUI mode for 'perf kvm stat live'; this is because live mode is
> different from report for TUI mode, which will be implemented in later
> (TBH, I need to look into more details in histograms for this part).
>
> Patches 01 ~ 04 are minor refactoring and they are preparation for later
> enabling histograms and dimensions.
>
> Patches 05 ~ 10 are for enabling histograms and dimensions; with these
> changes the cached list is replaced by histograms list, and we extend to
> support more sorting keys (max time, min time, mean time).
>
> Patches 11 ~ 13 are to enable TUI mode in stat report, after this patch
> TUI mode will be default mode, and user needs to input option '--stdio'
> for stdio mode rather than TUI mode.
>
> Patch 14 updates documentation for new sorting and 'stdio' mode.
>
> After changes:
>
> Please see the screenshot for the TUI with 'perf kvm stat report':
> https://people.linaro.org/~leo.yan/debug/perf/perf_kvm_stat_report_tui.png
>
> And I verified the '--stdio' mode and confirmed it has the same result
> with before applying this series.
Can you provide precise instructions for all the steps involved? from
'perf kvm record', I'm trying here with a simple 'perf kvm record' and
then starting vm and having trouble.
- Arnaldo
> # perf kvm stat report --stdio
>
>
> Analyze events for all VMs, all VCPUs:
>
> VM-EXIT Samples Samples% Time% Min Time Max Time Avg time
>
> MSR_WRITE 520 60.05% 0.07% 0.74us 16.92us 2.62us ( +- 2.66% )
> HLT 179 20.67% 99.82% 64.53us 17159.69us 10123.40us ( +- 4.68% )
> EXTERNAL_INTERRUPT 71 8.20% 0.07% 1.16us 79.63us 17.56us ( +- 10.92% )
> EPT_MISCONFIG 68 7.85% 0.03% 5.53us 64.64us 8.09us ( +- 12.50% )
> PREEMPTION_TIMER 18 2.08% 0.01% 1.91us 12.06us 5.53us ( +- 10.25% )
> INTERRUPT_WINDOW 7 0.81% 0.00% 0.91us 1.66us 1.30us ( +- 9.09% )
> MSR_READ 3 0.35% 0.00% 4.06us 4.84us 4.42us ( +- 5.11% )
>
> Total Samples:866, Total events handled time:1815367.45us.
>
> # perf kvm stat live
> 12:10:10.786799
>
> Analyze events for all VMs, all VCPUs:
>
> VM-EXIT Samples Samples% Time% Min Time Max Time Avg time
>
> MSR_WRITE 121 66.85% 12.90% 0.67us 62918.87us 667.19us ( +- 80.72% )
> HLT 34 18.78% 76.61% 2069.99us 52171.44us 14103.37us ( +- 14.25% )
> EXTERNAL_INTERRUPT 20 11.05% 10.49% 1.61us 47469.17us 3282.16us ( +- 75.75% )
> PREEMPTION_TIMER 5 2.76% 0.00% 3.98us 7.39us 5.84us ( +- 10.51% )
> INTERRUPT_WINDOW 1 0.55% 0.00% 2.01us 2.01us 2.01us ( +- 0.00% )
>
> Total Samples:181, Total events handled time:625919.05us.
>
>
> Leo Yan (14):
> perf kvm: Refactor overall statistics
> perf kvm: Add pointer to 'perf_kvm_stat' in kvm event
> perf kvm: Move up metrics helpers
> perf kvm: Use subtraction for comparison metrics
> perf kvm: Introduce histograms data structures
> perf kvm: Pass argument 'sample' to kvm_alloc_init_event()
> perf kvm: Parse address location for samples
> perf kvm: Add dimensions for KVM event statistics
> perf kvm: Use histograms list to replace cached list
> perf kvm: Polish sorting key
> perf kvm: Support printing attributions for dimensions
> perf kvm: Add dimensions for percentages
> perf kvm: Add TUI mode for stat report
> perf kvm: Update documentation to reflect new changes
>
> tools/perf/Documentation/perf-kvm.txt | 9 +-
> tools/perf/builtin-kvm.c | 847 +++++++++++++++++++++-----
> tools/perf/util/kvm-stat.h | 26 +-
> 3 files changed, 707 insertions(+), 175 deletions(-)
>
> --
> 2.34.1
>
--
- Arnaldo
next prev parent reply other threads:[~2023-02-27 21:40 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-26 4:20 [PATCH v1 00/14] perf kvm: Support histograms and TUI mode Leo Yan
2023-02-26 4:20 ` [PATCH v1 01/14] perf kvm: Refactor overall statistics Leo Yan
2023-02-26 4:20 ` [PATCH v1 02/14] perf kvm: Add pointer to 'perf_kvm_stat' in kvm event Leo Yan
2023-02-26 4:20 ` [PATCH v1 03/14] perf kvm: Move up metrics helpers Leo Yan
2023-02-26 4:20 ` [PATCH v1 04/14] perf kvm: Use subtraction for comparison metrics Leo Yan
2023-02-26 4:20 ` [PATCH v1 05/14] perf kvm: Introduce histograms data structures Leo Yan
2023-02-26 4:20 ` [PATCH v1 06/14] perf kvm: Pass argument 'sample' to kvm_alloc_init_event() Leo Yan
2023-02-26 4:20 ` [PATCH v1 07/14] perf kvm: Parse address location for samples Leo Yan
2023-02-26 4:20 ` [PATCH v1 08/14] perf kvm: Add dimensions for KVM event statistics Leo Yan
2023-02-26 4:20 ` [PATCH v1 09/14] perf kvm: Use histograms list to replace cached list Leo Yan
2023-02-26 4:20 ` [PATCH v1 10/14] perf kvm: Polish sorting key Leo Yan
2023-02-26 4:20 ` [PATCH v1 11/14] perf kvm: Support printing attributions for dimensions Leo Yan
2023-02-26 4:20 ` [PATCH v1 12/14] perf kvm: Add dimensions for percentages Leo Yan
2023-02-26 4:20 ` [PATCH v1 13/14] perf kvm: Add TUI mode for stat report Leo Yan
2023-02-26 4:20 ` [PATCH v1 14/14] perf kvm: Update documentation to reflect new changes Leo Yan
2023-02-27 21:40 ` Arnaldo Carvalho de Melo [this message]
2023-02-28 8:51 ` [PATCH v1 00/14] perf kvm: Support histograms and TUI mode Leo Yan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y/0jPa9xu371PtRS@kernel.org \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=leo.yan@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.