All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Artem S. Tashkinov" <aros@gmx.com>
To: Chen Yu <yu.c.chen@intel.com>, Borislav Petkov <bp@suse.de>
Cc: Terry Bowman <terry.bowman@amd.com>,
	lenb@kernel.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, calvin.walton@kepstin.ca,
	wei.huang2@amd.com
Subject: Re: [PATCH v2] tools/power turbostat: Fix RAPL summary collection on AMD processors
Date: Tue, 20 Apr 2021 14:06:04 +0000	[thread overview]
Message-ID: <a5637148-7a21-e4e1-a4e7-c470bbb3bfe0@gmx.com> (raw)
In-Reply-To: <20210420131541.GA388877@chenyu-desktop>

On 4/20/21 1:15 PM, Chen Yu wrote:
> On Tue, Apr 20, 2021 at 10:07:01AM +0200, Borislav Petkov wrote:
>> On Tue, Apr 20, 2021 at 10:03:36AM +0800, Chen Yu wrote:
>>> On Mon, Apr 19, 2021 at 02:58:12PM -0500, Terry Bowman wrote:
>>>> Turbostat fails to correctly collect and display RAPL summary information
>>>> on Family 17h and 19h AMD processors. Running turbostat on these processors
>>>> returns immediately. If turbostat is working correctly then RAPL summary
>>>> data is displayed until the user provided command completes. If a command
>>>> is not provided by the user then turbostat is designed to continuously
>>>> display RAPL information until interrupted.
>>>>
>>>> The issue is due to offset_to_idx() and idx_to_offset() missing support for
>>>> AMD MSR addresses/offsets. offset_to_idx()'s switch statement is missing
>>>> cases for AMD MSRs and idx_to_offset() does not include a path to return
>>>> AMD MSR(s) for any idx.
>>>>
>>>> The solution is add AMD MSR support to offset_to_idx() and idx_to_offset().
>>>> These functions are split-out and renamed along architecture vendor lines
>>>> for supporting both AMD and Intel MSRs.
>>>>
>>>> Fixes: 9972d5d84d76 ("tools/power turbostat: Enable accumulate RAPL display")
>>>> Signed-off-by: Terry Bowman <terry.bowman@amd.com>
>>> Thanks for fixing, Terry, and previously there was a patch for this from Bas Nieuwenhuizen:
>>> https://lkml.org/lkml/2021/3/12/682
>>> and it is expected to have been merged in Len's branch already.
>>
>> Expected?
>>
>> So is it or is it not?
>>
> This patch was sent to Len and it is not in public repo yet. He is preparing for a new
> release of turbostat as merge window is approaching.
>> And can you folks agree on a patch already and give it to Artem for
>> testing (CCed) because he's triggering it too:
>>
>> https://bugzilla.kernel.org/show_bug.cgi?id=212357
>>
> Okay. I would vote for the the patch from Bas as it was a combined work from two
> authors and tested by several AMD users. But let me paste it here too for Artem to
> see if this also works for him:
>
>
>  From 00e0622b1b693a5c7dc343aeb3aa51614a9e125e Mon Sep 17 00:00:00 2001
> From: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> Date: Fri, 12 Mar 2021 21:27:40 +0800
> Subject: [PATCH] tools/power/turbostat: Fix turbostat for AMD Zen CPUs
>
> It was reported that on Zen+ system turbostat started exiting,
> which was tracked down to the MSR_PKG_ENERGY_STAT read failing because
> offset_to_idx wasn't returning a non-negative index.
>
> This patch combined the modification from Bingsong Si and
> Bas Nieuwenhuizen and addd the MSR to the index system as alternative for
> MSR_PKG_ENERGY_STATUS.
>
> Fixes: 9972d5d84d76 ("tools/power turbostat: Enable accumulate RAPL display")
> Reported-by: youling257 <youling257@gmail.com>
> Tested-by: youling257 <youling257@gmail.com>
> Tested-by: sibingsong <owen.si@ucloud.cn>
> Tested-by: Kurt Garloff <kurt@garloff.de>
> Co-developed-by: Bingsong Si <owen.si@ucloud.cn>
> Signed-off-by: Chen Yu <yu.c.chen@intel.com>
> ---
>   tools/power/x86/turbostat/turbostat.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
> index a7c4f0772e53..a7c965734fdf 100644
> --- a/tools/power/x86/turbostat/turbostat.c
> +++ b/tools/power/x86/turbostat/turbostat.c
> @@ -297,7 +297,10 @@ int idx_to_offset(int idx)
>
>   	switch (idx) {
>   	case IDX_PKG_ENERGY:
> -		offset = MSR_PKG_ENERGY_STATUS;
> +		if (do_rapl & RAPL_AMD_F17H)
> +			offset = MSR_PKG_ENERGY_STAT;
> +		else
> +			offset = MSR_PKG_ENERGY_STATUS;
>   		break;
>   	case IDX_DRAM_ENERGY:
>   		offset = MSR_DRAM_ENERGY_STATUS;
> @@ -326,6 +329,7 @@ int offset_to_idx(int offset)
>
>   	switch (offset) {
>   	case MSR_PKG_ENERGY_STATUS:
> +	case MSR_PKG_ENERGY_STAT:
>   		idx = IDX_PKG_ENERGY;
>   		break;
>   	case MSR_DRAM_ENERGY_STATUS:
> @@ -353,7 +357,7 @@ int idx_valid(int idx)
>   {
>   	switch (idx) {
>   	case IDX_PKG_ENERGY:
> -		return do_rapl & RAPL_PKG;
> +		return do_rapl & (RAPL_PKG | RAPL_AMD_F17H);
>   	case IDX_DRAM_ENERGY:
>   		return do_rapl & RAPL_DRAM;
>   	case IDX_PP0_ENERGY:
>

The patch works for me.

Tested-by: Artem S. Tashkinov <aros@gmx.com>

  parent reply	other threads:[~2021-04-20 14:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-19 19:58 [PATCH v2] tools/power turbostat: Fix RAPL summary collection on AMD processors Terry Bowman
2021-04-19 23:52 ` calvin.walton
2021-04-20  2:03 ` Chen Yu
2021-04-20  8:07   ` Borislav Petkov
2021-04-20 13:15     ` Chen Yu
2021-04-20 13:28       ` Calvin Walton
2021-04-20 14:37         ` Chen Yu
2021-04-20 14:42           ` Calvin Walton
2021-04-23 12:16             ` Chen Yu
2021-04-23 12:19               ` Borislav Petkov
2021-04-23 13:34                 ` Chen Yu
2021-04-23 14:32                   ` Borislav Petkov
2021-04-24  1:14                     ` Chen Yu
2021-04-23 14:00                 ` Calvin Walton
2021-04-23 14:29                   ` Borislav Petkov
2021-04-24  1:34                   ` Chen Yu
2021-04-23 14:04               ` Calvin Walton
2021-04-23 14:27                 ` Chen Yu
2021-04-23 15:17                   ` Calvin Walton
2021-04-20 14:06       ` Artem S. Tashkinov [this message]
2021-04-20 15:25       ` Borislav Petkov
2021-04-23 12:18         ` Chen Yu
2021-04-20 13:32 ` Calvin Walton

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=a5637148-7a21-e4e1-a4e7-c470bbb3bfe0@gmx.com \
    --to=aros@gmx.com \
    --cc=bp@suse.de \
    --cc=calvin.walton@kepstin.ca \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=terry.bowman@amd.com \
    --cc=wei.huang2@amd.com \
    --cc=yu.c.chen@intel.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.