From: Huang Rui <ray.huang@amd.com>
To: Mike Lothian <mike@fireburn.co.uk>
Cc: Linux PM list <linux-pm@vger.kernel.org>
Subject: Re: AMD Pstate
Date: Tue, 23 Nov 2021 19:17:52 +0800 [thread overview]
Message-ID: <YZzN4Nc2tcclbVIO@hr-amd> (raw)
In-Reply-To: <CAHbf0-E5Zrs9-bWYMm8A-RQ7xd0DOCZopzZ2GjtH8xcFf4wVtA@mail.gmail.com>
On Tue, Nov 23, 2021 at 06:47:34PM +0800, Mike Lothian wrote:
> Hi again
>
> Do I need to enable something else for shedutil to work, I've tried
> with and without shared_mem? Compiling a kernel with -j16 has the freq
> stuck at 1GHz on all cores - ondemand works fine
>
If you set the CONFIG_CPU_FREQ_GOV_SCHEDUTIL, then no more configurations.
Did you use the V4 version?
https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=amd-pstate-dev-v4
> That's on a AMD Ryzen 9 5900HX
>
> Also compiling with Clang-13 gives the following warnings:
>
> drivers/cpufreq/amd-pstate.c:257:6: warning: variable 'amd_des_perf'
> is used uninitialized whenever 'if' condition is false
> [-Wsometimes-uninitialized]
>
> if (target_perf < capacity)
>
> ^~~~~~~~~~~~~~~~~~~~~~
>
> drivers/cpufreq/amd-pstate.c:272:40: note: uninitialized use occurs here
>
> amd_des_perf = clamp_t(unsigned long, amd_des_perf,
>
> ^~~~~~~~~~~~
Ah, miss one line. Thanks for the info. I will correct it.
Thanks,
Ray
>
> ./include/linux/minmax.h:124:60: note: expanded from macro 'clamp_t'
>
> #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
>
> ^~~
>
> ./include/linux/minmax.h:112:48: note: expanded from macro 'max_t'
>
> #define max_t(type, x, y) __careful_cmp((type)(x), (type)(y), >)
>
> ^
>
> ./include/linux/minmax.h:38:14: note: expanded from macro '__careful_cmp'
>
> __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
>
> ^
>
> note: (skipping 1 expansions in backtrace; use
> -fmacro-backtrace-limit=0 to see all)
>
> ./include/linux/minmax.h:104:48: note: expanded from macro 'min_t'
>
> #define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
>
> ^
>
> ./include/linux/minmax.h:38:14: note: expanded from macro '__careful_cmp'
>
> __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
>
> ^
>
> ./include/linux/minmax.h:31:25: note: expanded from macro '__cmp_once'
>
> typeof(x) unique_x = (x); \
>
> ^
>
> drivers/cpufreq/amd-pstate.c:257:2: note: remove the 'if' if its
> condition is always true
>
> if (target_perf < capacity)
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> drivers/cpufreq/amd-pstate.c:249:56: note: initialize the variable
> 'amd_des_perf' to silence this warning
>
> unsigned long amd_max_perf, amd_min_perf, amd_des_perf,
>
> ^
>
> = 0
>
> On Sun, 21 Nov 2021 at 10:37, Mike Lothian <mike@fireburn.co.uk> wrote:
> >
> > Hi
> >
> > I'm not subscribed to the mailing list so apologies for emailing you directly
> >
> > It looks like something isn't quite right with the kconfig selects
> >
> > SCHED_MC_PRIO can't be enabled without CPU_SUP_INTEL
> >
> >
> >
> > │ Symbol: X86_AMD_PSTATE [=y]
> >
> > │
> > │ Type : bool
> >
> > │
> > │ Defined at drivers/cpufreq/Kconfig.x86:37
> >
> > │
> > │ Prompt: AMD Processor P-State driver
> >
> > │
> > │ Depends on: CPU_FREQ [=y] && X86 [=y]
> >
> > │
> > │ Location:
> >
> > │
> > │ Main menu
> >
> > │
> > │ -> Power management and ACPI options
> >
> > │
> > │ -> CPU Frequency scaling
> >
> > │
> > │ -> CPU Frequency scaling (CPU_FREQ [=y])
> >
> > │
> > │ Selects: ACPI_PROCESSOR [=y] && ACPI_CPPC_LIB [=n] &&
> > CPU_FREQ_GOV_SCHEDUTIL [=y]
> >
> >
> >
> > │ Symbol: ACPI_CPPC_LIB [=n]
> >
> > │
> > │ Type : bool
> >
> > │
> > │ Defined at drivers/acpi/Kconfig:268
> >
> > │
> > │ Depends on: ACPI [=y] && ACPI_PROCESSOR [=y]
> >
> > │
> > │ Selects: MAILBOX [=n] && PCC [=n]
> >
> > │
> > │ Selected by [n]:
> >
> > │
> > │ - X86_INTEL_PSTATE [=n] && CPU_FREQ [=y] && X86 [=y] && X86_64
> > [=y] && ACPI [=y] && SCHED_MC_PRIO [=n]
> > │
> > │ - X86_AMD_PSTATE [=y] && CPU_FREQ [=y] && X86 [=y] && X86_64 [=y]
> > && ACPI [=y] && SCHED_MC_PRIO [=n]
> > │
> > │ - ACPI_CPPC_CPUFREQ [=n] && CPU_FREQ [=y] && (ARM || ARM64) &&
> > ACPI_PROCESSOR [=y]
> >
> >
> >
> > │ Symbol: SCHED_MC_PRIO [=n]
> >
> > │
> > │ Type : bool
> >
> > │
> > │ Defined at arch/x86/Kconfig:1029
> >
> > │
> > │ Prompt: CPU core priorities scheduler support
> >
> > │
> > │ Depends on: SCHED_MC [=y] && CPU_SUP_INTEL [=n]
> >
> > │
> > │ Location:
> >
> > │
> > │ Main menu
> >
> > │
> > │ -> Processor type and features
> >
> > │
> > │ (1) -> Multi-core scheduler support (SCHED_MC [=y])
> >
> > │
> > │ Selects: X86_INTEL_PSTATE [=n] && CPU_FREQ [=y]
> >
> >
> >
> > I've used this patch to work around the issue:
> >
> > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > index 95dd1ee01546..bdfcf155f48e 100644
> > --- a/arch/x86/Kconfig
> > +++ b/arch/x86/Kconfig
> > @@ -1028,8 +1028,8 @@ config SCHED_MC
> >
> > config SCHED_MC_PRIO
> > bool "CPU core priorities scheduler support"
> > - depends on SCHED_MC && CPU_SUP_INTEL
> > - select X86_INTEL_PSTATE
> > + depends on SCHED_MC && CPU_SUP_AMD
> > + select X86_AMD_PSTATE
> > select CPU_FREQ
> > default y
> > help
> >
> > Which gets things working here
next prev parent reply other threads:[~2021-11-23 11:18 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-21 10:37 AMD Pstate Mike Lothian
2021-11-21 11:52 ` Huang Rui
2021-11-21 12:35 ` Huang Rui
2021-11-23 10:47 ` Mike Lothian
2021-11-23 11:17 ` Huang Rui [this message]
2021-11-23 11:22 ` Mike Lothian
2021-11-23 11:32 ` Huang Rui
2021-11-24 0:17 ` Mike Lothian
[not found] ` <YZ22dYQ8dgQTwqnh@amd.com>
[not found] ` <CAHbf0-FnFpkmZ2bkfS2S=Cw_RLbK1y7eSHySAFGVecs+t+-aVg@mail.gmail.com>
2021-11-26 10:50 ` Mike Lothian
2021-11-26 11:32 ` Du, Xiaojian
2021-11-26 13:24 ` Mike Lothian
2021-11-30 10:50 ` Huang Rui
[not found] ` <CAHbf0-EWVeD8xehHZc8ff-4vYbXC69z=kMf0_=RXJsHKG_2M7Q@mail.gmail.com>
2021-12-01 6:51 ` Huang Rui
2021-12-03 1:08 ` Mike Lothian
2021-12-03 3:27 ` Huang Rui
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=YZzN4Nc2tcclbVIO@hr-amd \
--to=ray.huang@amd.com \
--cc=linux-pm@vger.kernel.org \
--cc=mike@fireburn.co.uk \
/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.