[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <856e2489-d92a-4203-feae-b4f41af8ed04@linux.intel.com>
Date: Thu, 3 Oct 2024 14:14:47 +0300 (EEST)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: "David E. Box" <david.e.box@...ux.intel.com>
cc: Hans de Goede <hdegoede@...hat.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>, david.e.box@...el.com,
platform-driver-x86@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
linux-pm@...r.kernel.org, rjw@...ysocki.net
Subject: Re: [PATCH] platform/x86/intel/pmc: Disable C1 auto-demotion during
suspend
On Wed, 2 Oct 2024, Ilpo Järvinen wrote:
> On Tue, 1 Oct 2024, David E. Box wrote:
>
> > On some platforms, aggressive C1 auto-demotion may lead to failure to enter
> > the deepest C-state during suspend-to-idle, causing high power consumption.
> > To prevent this, disable C1 auto-demotion during suspend and re-enable on
> > resume.
> >
> > Signed-off-by: David E. Box <david.e.box@...ux.intel.com>
> > ---
> > @@ -220,6 +237,15 @@ int cnl_resume(struct pmc_dev *pmcdev)
> > {
> > pmc_core_send_ltr_ignore(pmcdev, 3, 0);
> >
> > + if (!pm_suspend_via_firmware()) {
> > + int cpunum;
> > +
> > + for_each_online_cpu(cpunum) {
> > + pr_debug("%s: cpu:%d cst %llx\n", __func__, cpunum, per_cpu(pkg_cst_config, cpunum));
> > + wrmsrl_on_cpu(cpunum, MSR_PKG_CST_CONFIG_CONTROL, per_cpu(pkg_cst_config, cpunum));
>
> Is the set of onlined CPUs iterated by the suspend and resume handlers
> guaranteed to be the same?
I asked about this from more knowledgeable people than me and got a
response that during suspend/resume userspace cannot offline any CPUs so
it should be guaranteed to remain the same for resume.
--
i.
Powered by blists - more mailing lists