From: Nathan Lynch <nathanl@linux.ibm.com>
To: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: maddy@linux.ibm.com, rnsastry@linux.ibm.com, kjain@linux.ibm.com,
Nicholas Piggin <npiggin@gmail.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH V2] powerpc/perf: Enable PMU counters post partition migration if PMU is active
Date: Thu, 21 Oct 2021 12:17:36 -0500 [thread overview]
Message-ID: <87lf2mxpov.fsf@linux.ibm.com> (raw)
In-Reply-To: <1626006357-1611-1-git-send-email-atrajeev@linux.vnet.ibm.com>
Athira Rajeev <atrajeev@linux.vnet.ibm.com> writes:
> During Live Partition Migration (LPM), it is observed that perf
> counter values reports zero post migration completion. However
> 'perf stat' with workload continues to show counts post migration
> since PMU gets disabled/enabled during sched switches. But incase
> of system/cpu wide monitoring, zero counts were reported with 'perf
> stat' after migration completion.
>
> Example:
> ./perf stat -e r1001e -I 1000
> time counts unit events
> 1.001010437 22,137,414 r1001e
> 2.002495447 15,455,821 r1001e
> <<>> As seen in next below logs, the counter values shows zero
> after migration is completed.
> <<>>
> 86.142535370 129,392,333,440 r1001e
> 87.144714617 0 r1001e
> 88.146526636 0 r1001e
> 89.148085029 0 r1001e
Confirmed in my environment:
51.099987985 300,338 cache-misses
52.101839374 296,586 cache-misses
53.116089796 263,150 cache-misses
54.117949249 232,290 cache-misses
55.602029375 68,700,421,711 cache-misses
56.610073969 0 cache-misses
57.614732000 0 cache-misses
I wonder what it means that there is a very unlikely huge value before
the counter stops working -- I believe your example has this phenomenon
too.
> diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
> index e83e089..ff7a77c 100644
> --- a/arch/powerpc/platforms/pseries/mobility.c
> +++ b/arch/powerpc/platforms/pseries/mobility.c
> @@ -476,6 +476,8 @@ static int do_join(void *arg)
> retry:
> /* Must ensure MSR.EE off for H_JOIN. */
> hard_irq_disable();
> + /* Disable PMU before suspend */
> + mobility_pmu_disable();
> hvrc = plpar_hcall_norets(H_JOIN);
>
> switch (hvrc) {
> @@ -530,6 +532,8 @@ static int do_join(void *arg)
> * reset the watchdog.
> */
> touch_nmi_watchdog();
> + /* Enable PMU after resuming */
> + mobility_pmu_enable();
> return ret;
> }
We should minimize calls into other subsystems from this context (the
callback function we've passed to stop_machine); it's fairly sensitive.
Can this be moved out to pseries_migrate_partition() or similar?
next prev parent reply other threads:[~2021-10-21 17:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-11 12:25 [PATCH V2] powerpc/perf: Enable PMU counters post partition migration if PMU is active Athira Rajeev
2021-10-21 10:54 ` Nicholas Piggin
2021-10-21 17:33 ` Nathan Lynch
2021-10-22 3:33 ` Madhavan Srinivasan
2021-10-25 17:10 ` Athira Rajeev
2021-10-25 17:07 ` Athira Rajeev
2021-10-21 17:17 ` Nathan Lynch [this message]
2021-10-22 0:19 ` Michael Ellerman
2021-10-22 5:11 ` Nicholas Piggin
2021-10-25 17:09 ` Athira Rajeev
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=87lf2mxpov.fsf@linux.ibm.com \
--to=nathanl@linux.ibm.com \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=kjain@linux.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=rnsastry@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).