Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1411818 > unrolled thread

[PATCH 0/5] Add suspend-to-idle validation for Intel SoCs

Started bydbasehore@chromium.org
First post2016-06-02 06:40 +0200
Last post2016-06-11 22:40 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/5] Add suspend-to-idle validation for Intel SoCs dbasehore@chromium.org - 2016-06-02 06:40 +0200
    Re: [PATCH 0/5] Add suspend-to-idle validation for Intel SoCs Pavel Machek <pavel@ucw.cz> - 2016-06-07 09:50 +0200
      Re: [PATCH 0/5] Add suspend-to-idle validation for Intel SoCs "dbasehore ." <dbasehore@chromium.org> - 2016-06-08 02:10 +0200
        Re: [PATCH 0/5] Add suspend-to-idle validation for Intel SoCs Pavel Machek <pavel@ucw.cz> - 2016-06-11 22:40 +0200

#1411818 — [PATCH 0/5] Add suspend-to-idle validation for Intel SoCs

Fromdbasehore@chromium.org
Date2016-06-02 06:40 +0200
Subject[PATCH 0/5] Add suspend-to-idle validation for Intel SoCs
Message-ID<rFsAh-1gP-5@gated-at.bofh.it>
From: Derek Basehore <dbasehore@chromium.org>

This patch set adds support for catching errors when entering freeze
on Intel Skylake SoCs. Support for this can be added to newer SoCs in
later patches.

Verification is done by waking up the CPU once every X (default 10)
seconds to check the residency of S0ix. This can't be verified before
attempting to enter S0ix through mwait, so we have to repeatedly
verify entry into that state. Successfully entering S0ix is no
guarantee that it will be entered on the next attempt, so we have to
schedule another check. This has a minimal power impact of <1% of the
total system power on our systems.

This relies on the recently added patch "platform/x86: Add PMC Driver
for Intel Core SoC"

Derek Basehore (5):
  x86: stub out pmc function
  clockevents: Add timed freeze
  x86, apic: Add timed freeze support
  freeze: Add error reporting
  intel_idle: Add S0ix validation

 arch/x86/include/asm/pmc_core.h |   6 +-
 arch/x86/kernel/apic/apic.c     |  25 +++++-
 drivers/acpi/processor_idle.c   |  10 ++-
 drivers/cpuidle/cpuidle.c       |  31 +++++--
 drivers/idle/intel_idle.c       | 185 +++++++++++++++++++++++++++++++++++++---
 include/linux/clockchips.h      |  10 +++
 include/linux/cpuidle.h         |  10 ++-
 include/linux/suspend.h         |  10 +++
 kernel/power/suspend.c          |  11 ++-
 kernel/time/clockevents.c       | 117 +++++++++++++++++++++++++
 10 files changed, 385 insertions(+), 30 deletions(-)

-- 
2.8.0.rc3.226.g39d4020

[toc] | [next] | [standalone]


#1415809

FromPavel Machek <pavel@ucw.cz>
Date2016-06-07 09:50 +0200
Message-ID<rHjVU-8cE-25@gated-at.bofh.it>
In reply to#1411818
On Wed 2016-06-01 21:33:24, dbasehore@chromium.org wrote:
> From: Derek Basehore <dbasehore@chromium.org>
> 
> This patch set adds support for catching errors when entering freeze
> on Intel Skylake SoCs. Support for this can be added to newer SoCs in
> later patches.
> 
> Verification is done by waking up the CPU once every X (default 10)
> seconds to check the residency of S0ix. This can't be verified before
> attempting to enter S0ix through mwait, so we have to repeatedly
> verify entry into that state. Successfully entering S0ix is no
> guarantee that it will be entered on the next attempt, so we have to
> schedule another check. This has a minimal power impact of <1% of the
> total system power on our systems.

Dunno. Should this be protected with something like CONFIG_TEST_SLEEP?
People probably don't want this for production...

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[toc] | [prev] | [next] | [standalone]


#1416764

From"dbasehore ." <dbasehore@chromium.org>
Date2016-06-08 02:10 +0200
Message-ID<rHzeh-17I-1@gated-at.bofh.it>
In reply to#1415809
On Tue, Jun 7, 2016 at 12:46 AM, Pavel Machek <pavel@ucw.cz> wrote:
> On Wed 2016-06-01 21:33:24, dbasehore@chromium.org wrote:
>> From: Derek Basehore <dbasehore@chromium.org>
>>
>> This patch set adds support for catching errors when entering freeze
>> on Intel Skylake SoCs. Support for this can be added to newer SoCs in
>> later patches.
>>
>> Verification is done by waking up the CPU once every X (default 10)
>> seconds to check the residency of S0ix. This can't be verified before
>> attempting to enter S0ix through mwait, so we have to repeatedly
>> verify entry into that state. Successfully entering S0ix is no
>> guarantee that it will be entered on the next attempt, so we have to
>> schedule another check. This has a minimal power impact of <1% of the
>> total system power on our systems.
>
> Dunno. Should this be protected with something like CONFIG_TEST_SLEEP?
> People probably don't want this for production...
>

That depends, if you switch to using suspend to idle instead of
suspend to RAM, would you rather not catch power bugs due to
misconfigured hardware in production?

I agree that it shouldn't be on by default since freeze shouldn't fail
because some IP on the SoC doesn't have firmware loaded (this happens
with i915), but I was just going to leave it off by default instead of
adding yet another config option for a small feature.

> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[toc] | [prev] | [next] | [standalone]


#1420058

FromPavel Machek <pavel@ucw.cz>
Date2016-06-11 22:40 +0200
Message-ID<rIXRf-7IN-5@gated-at.bofh.it>
In reply to#1416764
On Tue 2016-06-07 17:07:21, dbasehore . wrote:
> On Tue, Jun 7, 2016 at 12:46 AM, Pavel Machek <pavel@ucw.cz> wrote:
> > On Wed 2016-06-01 21:33:24, dbasehore@chromium.org wrote:
> >> From: Derek Basehore <dbasehore@chromium.org>
> >>
> >> This patch set adds support for catching errors when entering freeze
> >> on Intel Skylake SoCs. Support for this can be added to newer SoCs in
> >> later patches.
> >>
> >> Verification is done by waking up the CPU once every X (default 10)
> >> seconds to check the residency of S0ix. This can't be verified before
> >> attempting to enter S0ix through mwait, so we have to repeatedly
> >> verify entry into that state. Successfully entering S0ix is no
> >> guarantee that it will be entered on the next attempt, so we have to
> >> schedule another check. This has a minimal power impact of <1% of the
> >> total system power on our systems.
> >
> > Dunno. Should this be protected with something like CONFIG_TEST_SLEEP?
> > People probably don't want this for production...
> >
> 
> That depends, if you switch to using suspend to idle instead of
> suspend to RAM, would you rather not catch power bugs due to
> misconfigured hardware in production?

> I agree that it shouldn't be on by default since freeze shouldn't fail
> because some IP on the SoC doesn't have firmware loaded (this happens
> with i915), but I was just going to leave it off by default instead of
> adding yet another config option for a small feature.

I'd rather have testing features optional. In 2 years, hopefully the
drivers are debugged, and people can set this to off...

									Pavel


-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web