lkml.org 
[lkml]   [2022]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 0/3] Improve usability for amd-pstate
On Wed, Mar 30, 2022 at 04:47:02AM +0800, Limonciello, Mario wrote:
> [AMD Official Use Only]
>
>
>
> > -----Original Message-----
> > From: Huang, Ray <Ray.Huang@amd.com>
> > Sent: Tuesday, March 29, 2022 01:03
> > To: Limonciello, Mario <Mario.Limonciello@amd.com>
> > Cc: Rafael J . Wysocki <rafael@kernel.org>; Viresh Kumar
> > <viresh.kumar@linaro.org>; open list:AMD PSTATE DRIVER <linux-
> > pm@vger.kernel.org>; open list <linux-kernel@vger.kernel.org>
> > Subject: Re: [PATCH v2 0/3] Improve usability for amd-pstate
> >
> > On Tue, Mar 29, 2022 at 09:59:44AM +0800, Limonciello, Mario wrote:
> > > There has recently been some news coverage about `amd-pstate` being in
> > > 5.17, but this news also mentioned that it's a bit difficult to use.
> > >
> > > You need to either block init calls, or compile the module into the kernel
> > > to force it to take precedence over acpi-cpufreq.
> > >
> > > This series aims to improve the usability of amd-pstate so that distros
> > > can compile as a module, but users can still use it (relatively) easily.
> > >
> > > A new module parameter is included that will force amd-pstate to take
> > > precedence and a module table to let it load automatically on such systems.
> > >
> > > With the patches in this series a user can make a file
> > > /etc/modprobe.d/amd-pstate.conf:
> > >
> > > options amd-pstate replace=1
> > >
> > > Then upon the next reboot amd-pstate should load automatically even if
> > > acpi-cpufreq was included on the system.
> > >
> > > Mario Limonciello (3):
> > > cpufreq: Export acpu_cpufreq_exit for other drivers to call
> > > cpufreq: amd-pstate: Allow replacing acpi-cpufreq when loaded
> > > cpufreq: amd-pstate: Add a module device table
> > >
> > > drivers/cpufreq/acpi-cpufreq.c | 3 ++-
> > > drivers/cpufreq/amd-pstate.c | 30 +++++++++++++++++++++++++++---
> > > 2 files changed, 29 insertions(+), 4 deletions(-)
> > >
> >
> > Mario, just applied your patch set in my platform, but it get the page fault
> > panic below:
> >
> > [ 4.195078] BUG: unable to handle page fault for address: ffffffff8aa2db87
> > [ 4.196838] #PF: supervisor instruction fetch in kernel mode
> > [ 4.197035] #PF: error_code(0x0011) - permissions violation
> > [ 4.197035] PGD 1f980e067 P4D 1f980e067 PUD 1f980f063 PMD 100800063
> > PTE 80000001fa42d163
> > [ 4.197035] Oops: 0011 [#1] PREEMPT SMP NOPTI
> > [ 4.197035] CPU: 2 PID: 464 Comm: systemd-udevd Not tainted 5.17.0-
> > custom+ #1
> > [ 4.197035] Hardware name: AMD Artic/Artic-CZN, BIOS WA21407N
> > 04/06/2021
> > [ 4.197035] RIP: 0010:acpi_cpufreq_exit+0x0/0x46
> > [ 4.197035] Code: 7f 00 00 a0 56 95 d2 4f 7f 00 00 80 f9 e7 d1 4f 7f 00 00 00 40
> > 90 d2 4f 7f 00 00 10 36 93 d2 4f 7f 00 00 10 a4 87 d2 4f 7f 00 <00> d0 b6 57 d2 4f
> > 7f 00 00 40 bf 1b d2 4f 7f 00 00 00 a4 85 d2 4f
> > [ 4.197035] RSP: 0018:ffffaee0c156fc78 EFLAGS: 00010246
> > [ 4.197035] RAX: 0000000000000000 RBX: 0000000000000000 RCX:
> > 0000000000000040
> > [ 4.197035] RDX: 0000000000000000 RSI: ffffffffc04ee5c5 RDI:
> > ffffffff8a706100
> > [ 4.197035] RBP: ffffaee0c156fc88 R08: 0000000000000000 R09:
> > 0000000000000000
> > [ 4.197035] R10: 0000000000000000 R11: 0000000000000001 R12:
> > 00000000ffffffed
> > [ 4.197035] R13: ffff9286ceead7e0 R14: ffffaee0c156fd90 R15:
> > ffffffffc04f0740
> > [ 4.197035] FS: 00007fe0ab0c3880(0000) GS:ffff9289ee280000(0000)
> > knlGS:0000000000000000
> > [ 4.197035] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [ 4.197035] CR2: ffffffff8aa2db87 CR3: 0000000105a40000 CR4:
> > 0000000000750ee0
> > [ 4.197035] PKRU: 55555554
> > [ 4.197035] Call Trace:
> > [ 4.197035] <TASK>
> > [ 4.197035] ? amd_pstate_init+0x7d/0x1000 [amd_pstate]
> > [ 4.197035] ? 0xffffffffc0477000
> > [ 4.197035] do_one_initcall+0x48/0x200
> > [ 4.197035] ? __x64_sys_delete_module+0x251/0x260
> > [ 4.197035] ? kmem_cache_alloc_trace+0x34c/0x450
> > [ 4.197035] do_init_module+0x52/0x240
> > [ 4.197035] load_module+0x2471/0x2790
> > [ 4.197035] __do_sys_finit_module+0xc5/0x130
> > [ 4.197035] ? __do_sys_finit_module+0xc5/0x130
> > [ 4.197035] __x64_sys_finit_module+0x1a/0x20
> > [ 4.197035] do_syscall_64+0x3b/0xc0
> > [ 4.197035] entry_SYSCALL_64_after_hwframe+0x44/0xae
> > [ 4.197035] RIP: 0033:0x7fe0ab64589d
>
> Presumably you didn't have acpi-cpufreq compiled in or loaded at this time
> right? I think I'll need to use IS_REACHABLE().

In fact, I have compiled and loaded acpi-cpufreq at first, otherwise, we
cannot get "acpi-cpufreq" driver instance with
cpufreq_get_current_driver().

Thanks,
Ray

\
 
 \ /
  Last update: 2022-03-30 11:55    [W:0.169 / U:0.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site