Linux Perf Users
 help / color / mirror / Atom feed
* [PATCH] perf kvm stat: Update the exit reason mappings
@ 2026-05-12 12:04 Gautam Menghani
  2026-05-12 15:25 ` Ian Rogers
  2026-05-13 20:55 ` sashiko-bot
  0 siblings, 2 replies; 5+ messages in thread
From: Gautam Menghani @ 2026-05-12 12:04 UTC (permalink / raw)
  To: peterz, mingo, acme, namhyung, mark.rutland, alexander.shishkin,
	jolsa, irogers, adrian.hunter, james.clark
  Cc: linux-perf-users, linux-kernel, Gautam Menghani

Sync the exit reason mappings with the mappings in trace_book3s.h

Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
---
 tools/perf/util/kvm-stat-arch/book3s_hv_exits.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h b/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
index 2011376c7ab5..2688ca7d0399 100644
--- a/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
+++ b/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
@@ -26,8 +26,10 @@
 	{0xe00, "H_DATA_STORAGE"}, \
 	{0xe20, "H_INST_STORAGE"}, \
 	{0xe40, "H_EMUL_ASSIST"}, \
+	{0xea0, "H_VIRT"}, \
 	{0xf00, "PERFMON"}, \
 	{0xf20, "ALTIVEC"}, \
-	{0xf40, "VSX"}
+	{0xf40, "VSX"}, \
+	{0xf80, "H_FAC_UNAVAIL"}
 
 #endif
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf kvm stat: Update the exit reason mappings
  2026-05-12 12:04 [PATCH] perf kvm stat: Update the exit reason mappings Gautam Menghani
@ 2026-05-12 15:25 ` Ian Rogers
  2026-05-12 16:18   ` Gautam Menghani
  2026-05-13 20:55 ` sashiko-bot
  1 sibling, 1 reply; 5+ messages in thread
From: Ian Rogers @ 2026-05-12 15:25 UTC (permalink / raw)
  To: Gautam Menghani
  Cc: peterz, mingo, acme, namhyung, mark.rutland, alexander.shishkin,
	jolsa, adrian.hunter, james.clark, linux-perf-users, linux-kernel

On Tue, May 12, 2026 at 5:04 AM Gautam Menghani <gautam@linux.ibm.com> wrote:
>
> Sync the exit reason mappings with the mappings in trace_book3s.h

I see:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/kvm/trace_book3s.h
Would it make sense to have a copy in perf and use the check headers
code to keep them in sync?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/check-headers.sh

Could you add the commits that add the H_VIRT and H_FAC_UNAVAIL
definitions? I don't see them in Linus' tree yet.

Thanks,
Ian

> Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
> ---
>  tools/perf/util/kvm-stat-arch/book3s_hv_exits.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h b/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
> index 2011376c7ab5..2688ca7d0399 100644
> --- a/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
> +++ b/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
> @@ -26,8 +26,10 @@
>         {0xe00, "H_DATA_STORAGE"}, \
>         {0xe20, "H_INST_STORAGE"}, \
>         {0xe40, "H_EMUL_ASSIST"}, \
> +       {0xea0, "H_VIRT"}, \
>         {0xf00, "PERFMON"}, \
>         {0xf20, "ALTIVEC"}, \
> -       {0xf40, "VSX"}
> +       {0xf40, "VSX"}, \
> +       {0xf80, "H_FAC_UNAVAIL"}
>
>  #endif
> --
> 2.53.0
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf kvm stat: Update the exit reason mappings
  2026-05-12 15:25 ` Ian Rogers
@ 2026-05-12 16:18   ` Gautam Menghani
  2026-05-13  4:03     ` Ritesh Harjani
  0 siblings, 1 reply; 5+ messages in thread
From: Gautam Menghani @ 2026-05-12 16:18 UTC (permalink / raw)
  To: Ian Rogers
  Cc: peterz, mingo, acme, namhyung, mark.rutland, alexander.shishkin,
	jolsa, adrian.hunter, james.clark, linux-perf-users, linux-kernel

On Tue, May 12, 2026 at 08:25:08AM -0700, Ian Rogers wrote:
> On Tue, May 12, 2026 at 5:04 AM Gautam Menghani <gautam@linux.ibm.com> wrote:
> >
> > Sync the exit reason mappings with the mappings in trace_book3s.h
> 
> I see:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/kvm/trace_book3s.h
> Would it make sense to have a copy in perf and use the check headers
> code to keep them in sync?
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/check-headers.sh

I'll take a look at this, thanks

> 
> Could you add the commits that add the H_VIRT and H_FAC_UNAVAIL
> definitions? I don't see them in Linus' tree yet.

I posted that patch earlier today - https://lore.kernel.org/linuxppc-dev/20260512115724.59299-1-gautam@linux.ibm.com/
should've pasted the link in the patch


Thanks,
Gautam

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf kvm stat: Update the exit reason mappings
  2026-05-12 16:18   ` Gautam Menghani
@ 2026-05-13  4:03     ` Ritesh Harjani
  0 siblings, 0 replies; 5+ messages in thread
From: Ritesh Harjani @ 2026-05-13  4:03 UTC (permalink / raw)
  To: Gautam Menghani, Ian Rogers
  Cc: peterz, mingo, acme, namhyung, mark.rutland, alexander.shishkin,
	jolsa, adrian.hunter, james.clark, linux-perf-users, linux-kernel,
	linuxppc-dev, maddy


++ linuxppc-dev

Gautam Menghani <gautam@linux.ibm.com> writes:

> On Tue, May 12, 2026 at 08:25:08AM -0700, Ian Rogers wrote:
>> On Tue, May 12, 2026 at 5:04 AM Gautam Menghani <gautam@linux.ibm.com> wrote:
>> >
>> > Sync the exit reason mappings with the mappings in trace_book3s.h
>> 
>> I see:
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/kvm/trace_book3s.h
>> Would it make sense to have a copy in perf and use the check headers
>> code to keep them in sync?
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/check-headers.sh
>
> I'll take a look at this, thanks
>
>> 
>> Could you add the commits that add the H_VIRT and H_FAC_UNAVAIL
>> definitions? I don't see them in Linus' tree yet.
>
> I posted that patch earlier today - https://lore.kernel.org/linuxppc-dev/20260512115724.59299-1-gautam@linux.ibm.com/
> should've pasted the link in the patch
>

For patches not yet merged and having such a dependency, this could cause
confusion. What I generally tend to do in such case is, group this
patch (changes in tools/perf/util/kvm-stat-arch/book3s_hv_exits.h) into
the same series which adds H_FAC_UNAVAIL to trace_book3s.h [1].
This way it is easier for everyone to keep track of the dependencies.

[1]: https://lore.kernel.org/linuxppc-dev/20260512115724.59299-1-gautam@linux.ibm.com/

Note, that we should still cc the relevant mailing lists, reviewers and
maintainers to get an Acked-by. Since the changes in this patch are
largely powerpc specific, so IMO, it should be ok even if it goes via
powerpc tree via a common series, as long as everyone agrees.

-ritesh


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] perf kvm stat: Update the exit reason mappings
  2026-05-12 12:04 [PATCH] perf kvm stat: Update the exit reason mappings Gautam Menghani
  2026-05-12 15:25 ` Ian Rogers
@ 2026-05-13 20:55 ` sashiko-bot
  1 sibling, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-05-13 20:55 UTC (permalink / raw)
  To: Gautam Menghani; +Cc: linux-perf-users

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch adds `H_FAC_UNAVAIL` to the exit reason mappings, but this mapping is missing from `trace_book3s.h`, contradicting the commit message.
--

commit ece070bf3559f07c600d918f34f26871f45c741d
Author: Gautam Menghani <gautam@linux.ibm.com>

perf kvm stat: Update the exit reason mappings

This commit updates the exit reason mappings in perf to sync them with
the definitions in trace_book3s.h.

> diff --git a/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h b/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
> index 2011376c7ab58..2688ca7d03990 100644
> --- a/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
> +++ b/tools/perf/util/kvm-stat-arch/book3s_hv_exits.h
> @@ -26,8 +26,10 @@
>  	{0xe00, "H_DATA_STORAGE"}, \
>  	{0xe20, "H_INST_STORAGE"}, \
>  	{0xe40, "H_EMUL_ASSIST"}, \
> +	{0xea0, "H_VIRT"}, \
>  	{0xf00, "PERFMON"}, \
>  	{0xf20, "ALTIVEC"}, \
> -	{0xf40, "VSX"}
> +	{0xf40, "VSX"}, \
> +	{0xf80, "H_FAC_UNAVAIL"}

The commit message states "Sync the exit reason mappings with the mappings
in trace_book3s.h".

Is this description accurate? Looking at arch/powerpc/kvm/trace_book3s.h,
it does not contain the mapping for H_FAC_UNAVAIL (0xf80):

arch/powerpc/kvm/trace_book3s.h:
#define kvm_trace_symbol_exit \
...
	{0xea0, "H_VIRT"}, \
	{0xf00, "PERFMON"}, \
	{0xf20, "ALTIVEC"}, \
	{0xf40, "VSX"}

Because trace_book3s.h lacks H_FAC_UNAVAIL, the ftrace kvm_guest_exit
tracepoint and perf kvm stat remain out of sync, as ftrace will display
the raw vector while perf will decode it.

Should trace_book3s.h also be updated to ensure they are truly synchronized?

Additionally, several other common KVM exits defined in kvm_asm.h, such as
HMI (0xe60) and H_DOORBELL (0xe80), appear to be missing from both headers.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260512120408.59332-1-gautam@linux.ibm.com?part=1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-05-13 20:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 12:04 [PATCH] perf kvm stat: Update the exit reason mappings Gautam Menghani
2026-05-12 15:25 ` Ian Rogers
2026-05-12 16:18   ` Gautam Menghani
2026-05-13  4:03     ` Ritesh Harjani
2026-05-13 20:55 ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox