From: Gautam Menghani <gautam@linux.ibm.com>
To: maddy@linux.ibm.com, npiggin@gmail.com, mpe@ellerman.id.au,
chleroy@kernel.org, ritesh.list@gmail.com, sshegde@linux.ibm.com,
atrajeev@linux.ibm.com, tshah@linux.ibm.com
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org
Subject: [PATCH v3 2/3] powerpc/perf: Update prev_count of event to get accurate values
Date: Fri, 6 Nov 2026 21:01:33 +0530 [thread overview]
Message-ID: <20261106153136.330165-3-gautam@linux.ibm.com> (raw)
In-Reply-To: <20261106153136.330165-1-gautam@linux.ibm.com>
When vpa_pmu_read() is called twice while a vCPU is running on the same
host cpu, the "event->hw.prev_count" variable returns the same old value on
the 2nd read which results in a larger value getting added to
event->count.
Fix this by updating the event->hw.prev_count every time vpa_pmu_read()
is called.
Fixes: 176cda0619b6 ("powerpc/perf: Add perf interface to expose vpa counters")
Cc: <stable@vger.kernel.org>
Signed-off-by: Gautam Menghani <gautam@linux.ibm.com>
---
v2 -> v3:
1. Use local64_xchg for atomic update.
v1 -> v2:
1. Add stable/fixes tags.
arch/powerpc/perf/vpa-pmu.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/perf/vpa-pmu.c b/arch/powerpc/perf/vpa-pmu.c
index 01d9196fcb0f..3296877eb317 100644
--- a/arch/powerpc/perf/vpa-pmu.c
+++ b/arch/powerpc/perf/vpa-pmu.c
@@ -132,6 +132,7 @@ static void vpa_pmu_read(struct perf_event *event)
prev_data = local64_read(&event->hw.prev_count);
new_data = get_counter_data(event);
+ prev_data = local64_xchg(&event->hw.prev_count, new_data);
final_data = new_data - prev_data;
local64_add(final_data, &event->count);
--
2.56.0
next prev parent reply other threads:[~2026-11-06 15:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 15:31 [PATCH v3 0/3] powerpc/perf: Fix vpa-pmu driver to report correct numbers Gautam Menghani
2026-11-06 15:31 ` [PATCH v3 1/3] Revert "powerpc/perf: Add per-task/process monitoring to vpa_pmu driver" Gautam Menghani
2026-11-06 15:31 ` Gautam Menghani [this message]
2026-11-06 15:40 ` [PATCH v3 2/3] powerpc/perf: Update prev_count of event to get accurate values sashiko-bot
2026-11-06 15:31 ` [PATCH v3 3/3] KVM: PPC: Book3s HV: Ensure reliable usage of latency counters Gautam Menghani
2026-11-06 15:50 ` sashiko-bot
2026-11-06 16:02 ` [PATCH v3 0/3] powerpc/perf: Fix vpa-pmu driver to report correct numbers Gautam Menghani
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=20261106153136.330165-3-gautam@linux.ibm.com \
--to=gautam@linux.ibm.com \
--cc=atrajeev@linux.ibm.com \
--cc=chleroy@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maddy@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=ritesh.list@gmail.com \
--cc=sshegde@linux.ibm.com \
--cc=stable@vger.kernel.org \
--cc=tshah@linux.ibm.com \
/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.