From: Shreyas B Prabhu <shreyas@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"Srivatsa S. Bhat" <srivatsa@MIT.EDU>,
"Preeti U. Murthy" <preeti@linux.vnet.ibm.com>,
Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
Rob Herring <robh+dt@kernel.org>,
Grant Likely <grant.likely@linaro.org>,
devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 0/9] powerpc/powernv: Support for fastsleep and winkle
Date: Mon, 29 Sep 2014 15:53:06 +0530 [thread overview]
Message-ID: <5429330A.7000103@linux.vnet.ibm.com> (raw)
In-Reply-To: <541A4D4F.1090307@linux.vnet.ibm.com>
Hi,
Any updates on this patch series?
On Thursday 18 September 2014 08:41 AM, Shreyas B Prabhu wrote:
> Hi,
>
> In this patch series we use winkle for offlined cores. I successfully
> tested the working of this with subcore functionality.
>
> Test scenario was as follows:
> 1. Set SMT mode to 1, Set subores-per-core to 1
> 2. Offline a core, in this case cpu 32 (sending it to winkle)
> 3. Set subcores-per-core to 4
> 4. Online the core
> 5. Start a guest (Topology 1 core 2 threads) on a subcore, in this case
> on cpu 36
>
> This works without any glitch.
>
> Thanks,
> Shreyas
>
> On Monday 25 August 2014 11:31 PM, Shreyas B. Prabhu wrote:
>> Fast sleep is an idle state, where the core and the L1 and L2
>> caches are brought down to a threshold voltage. This also means that
>> the communication between L2 and L3 caches have to be fenced. However
>> the current P8 chips have a bug wherein this fencing between L2 and
>> L3 caches get delayed by a cpu cycle. This can delay L3 response to
>> the other cpus if they request for data during this time. Thus they
>> would fetch the same data from the memory which could lead to data
>> corruption if L3 cache is not flushed.
>> Patch 4 adds support to work around this.
>>
>> 'Deep Winkle' is a deeper idle state where core and private L2 are powered
>> off. While it offers higher power savings, it is at the cost of losing
>> hypervisor register state and higher latency.
>> Patch 5-9 adds support for winkle and uses it for offline cpus.
>>
>> Patch 1 - Moves parameters required discover idle states to a location
>> common to both cpuidle driver and powernv core code
>> Patch 2 - Populates idle state details from device tree
>> Patch 3 - Enables cpus to run guest after waking up from fastsleep/winkle
>>
>>
>> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>> Cc: Paul Mackerras <paulus@samba.org>
>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
>> Cc: Srivatsa S. Bhat <srivatsa@MIT.EDU>
>> Cc: Preeti U. Murthy <preeti@linux.vnet.ibm.com>
>> Cc: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: Grant Likely <grant.likely@linaro.org>
>> Cc: devicetree@vger.kernel.org
>> Cc: linux-pm@vger.kernel.org
>> Cc: linuxppc-dev@lists.ozlabs.org
>>
>> Preeti U Murthy (2):
>> cpuidle/powernv: Populate cpuidle state details by querying the
>> device-tree
>> powerpc/powernv/cpuidle: Add workaround to enable fastsleep
>>
>> Shreyas B. Prabhu (6):
>> powerpc/kvm/book3s_hv: Enable CPUs to run guest after waking up from
>> fast-sleep
>> powerpc/powernv: Add OPAL call to save and restore
>> powerpc: Adding macro for accessing Thread Switch Control Register
>> powerpc/powernv: Add winkle infrastructure
>> powerpc/powernv: Discover and enable winkle
>> powerpc/powernv: Enter deepest supported idle state in offline
>>
>> Srivatsa S. Bhat (1):
>> powerpc/powernv: Enable Offline CPUs to enter deep idle states
>>
>> arch/powerpc/include/asm/machdep.h | 4 +
>> arch/powerpc/include/asm/opal.h | 10 ++
>> arch/powerpc/include/asm/paca.h | 3 +
>> arch/powerpc/include/asm/ppc-opcode.h | 2 +
>> arch/powerpc/include/asm/processor.h | 6 +-
>> arch/powerpc/include/asm/reg.h | 1 +
>> arch/powerpc/kernel/asm-offsets.c | 1 +
>> arch/powerpc/kernel/exceptions-64s.S | 37 ++---
>> arch/powerpc/kernel/idle.c | 30 ++++
>> arch/powerpc/kernel/idle_power7.S | 83 +++++++++-
>> arch/powerpc/platforms/powernv/opal-wrappers.S | 2 +
>> arch/powerpc/platforms/powernv/powernv.h | 8 +
>> arch/powerpc/platforms/powernv/setup.c | 217 +++++++++++++++++++++++++
>> arch/powerpc/platforms/powernv/smp.c | 13 +-
>> arch/powerpc/platforms/powernv/subcore.c | 15 ++
>> drivers/cpuidle/cpuidle-powernv.c | 40 ++++-
>> 16 files changed, 439 insertions(+), 33 deletions(-)
>>
WARNING: multiple messages have this Message-ID (diff)
From: Shreyas B Prabhu <shreyas@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>
Cc: devicetree@vger.kernel.org, "Srivatsa S. Bhat" <srivatsa@MIT.EDU>,
linux-pm@vger.kernel.org, "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Grant Likely <grant.likely@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Paul Mackerras <paulus@samba.org>,
"Preeti U. Murthy" <preeti@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 0/9] powerpc/powernv: Support for fastsleep and winkle
Date: Mon, 29 Sep 2014 15:53:06 +0530 [thread overview]
Message-ID: <5429330A.7000103@linux.vnet.ibm.com> (raw)
In-Reply-To: <541A4D4F.1090307@linux.vnet.ibm.com>
Hi,
Any updates on this patch series?
On Thursday 18 September 2014 08:41 AM, Shreyas B Prabhu wrote:
> Hi,
>
> In this patch series we use winkle for offlined cores. I successfully
> tested the working of this with subcore functionality.
>
> Test scenario was as follows:
> 1. Set SMT mode to 1, Set subores-per-core to 1
> 2. Offline a core, in this case cpu 32 (sending it to winkle)
> 3. Set subcores-per-core to 4
> 4. Online the core
> 5. Start a guest (Topology 1 core 2 threads) on a subcore, in this case
> on cpu 36
>
> This works without any glitch.
>
> Thanks,
> Shreyas
>
> On Monday 25 August 2014 11:31 PM, Shreyas B. Prabhu wrote:
>> Fast sleep is an idle state, where the core and the L1 and L2
>> caches are brought down to a threshold voltage. This also means that
>> the communication between L2 and L3 caches have to be fenced. However
>> the current P8 chips have a bug wherein this fencing between L2 and
>> L3 caches get delayed by a cpu cycle. This can delay L3 response to
>> the other cpus if they request for data during this time. Thus they
>> would fetch the same data from the memory which could lead to data
>> corruption if L3 cache is not flushed.
>> Patch 4 adds support to work around this.
>>
>> 'Deep Winkle' is a deeper idle state where core and private L2 are powered
>> off. While it offers higher power savings, it is at the cost of losing
>> hypervisor register state and higher latency.
>> Patch 5-9 adds support for winkle and uses it for offline cpus.
>>
>> Patch 1 - Moves parameters required discover idle states to a location
>> common to both cpuidle driver and powernv core code
>> Patch 2 - Populates idle state details from device tree
>> Patch 3 - Enables cpus to run guest after waking up from fastsleep/winkle
>>
>>
>> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>> Cc: Paul Mackerras <paulus@samba.org>
>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
>> Cc: Srivatsa S. Bhat <srivatsa@MIT.EDU>
>> Cc: Preeti U. Murthy <preeti@linux.vnet.ibm.com>
>> Cc: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: Grant Likely <grant.likely@linaro.org>
>> Cc: devicetree@vger.kernel.org
>> Cc: linux-pm@vger.kernel.org
>> Cc: linuxppc-dev@lists.ozlabs.org
>>
>> Preeti U Murthy (2):
>> cpuidle/powernv: Populate cpuidle state details by querying the
>> device-tree
>> powerpc/powernv/cpuidle: Add workaround to enable fastsleep
>>
>> Shreyas B. Prabhu (6):
>> powerpc/kvm/book3s_hv: Enable CPUs to run guest after waking up from
>> fast-sleep
>> powerpc/powernv: Add OPAL call to save and restore
>> powerpc: Adding macro for accessing Thread Switch Control Register
>> powerpc/powernv: Add winkle infrastructure
>> powerpc/powernv: Discover and enable winkle
>> powerpc/powernv: Enter deepest supported idle state in offline
>>
>> Srivatsa S. Bhat (1):
>> powerpc/powernv: Enable Offline CPUs to enter deep idle states
>>
>> arch/powerpc/include/asm/machdep.h | 4 +
>> arch/powerpc/include/asm/opal.h | 10 ++
>> arch/powerpc/include/asm/paca.h | 3 +
>> arch/powerpc/include/asm/ppc-opcode.h | 2 +
>> arch/powerpc/include/asm/processor.h | 6 +-
>> arch/powerpc/include/asm/reg.h | 1 +
>> arch/powerpc/kernel/asm-offsets.c | 1 +
>> arch/powerpc/kernel/exceptions-64s.S | 37 ++---
>> arch/powerpc/kernel/idle.c | 30 ++++
>> arch/powerpc/kernel/idle_power7.S | 83 +++++++++-
>> arch/powerpc/platforms/powernv/opal-wrappers.S | 2 +
>> arch/powerpc/platforms/powernv/powernv.h | 8 +
>> arch/powerpc/platforms/powernv/setup.c | 217 +++++++++++++++++++++++++
>> arch/powerpc/platforms/powernv/smp.c | 13 +-
>> arch/powerpc/platforms/powernv/subcore.c | 15 ++
>> drivers/cpuidle/cpuidle-powernv.c | 40 ++++-
>> 16 files changed, 439 insertions(+), 33 deletions(-)
>>
next prev parent reply other threads:[~2014-09-29 10:23 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-25 18:01 [PATCH 0/9] powerpc/powernv: Support for fastsleep and winkle Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 1/9] powerpc/powernv: Enable Offline CPUs to enter deep idle states Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 2/9] cpuidle/powernv: Populate cpuidle state details by querying the device-tree Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 3/9] powerpc/kvm/book3s_hv: Enable CPUs to run guest after waking up from fast-sleep Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 4/9] powerpc/powernv/cpuidle: Add workaround to enable fastsleep Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 5/9] powerpc/powernv: Add OPAL call to save and restore Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 6/9] powerpc: Adding macro for accessing Thread Switch Control Register Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 7/9] powerpc/powernv: Add winkle infrastructure Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 8/9] powerpc/powernv: Discover and enable winkle Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-08-25 18:01 ` [PATCH 9/9] powerpc/powernv: Enter deepest supported idle state in offline Shreyas B. Prabhu
2014-08-25 18:01 ` Shreyas B. Prabhu
2014-09-11 15:17 ` [PATCH 0/9] powerpc/powernv: Support for fastsleep and winkle Shreyas B Prabhu
2014-09-11 15:17 ` Shreyas B Prabhu
2014-09-18 3:11 ` Shreyas B Prabhu
2014-09-18 3:11 ` Shreyas B Prabhu
2014-09-29 10:23 ` Shreyas B Prabhu [this message]
2014-09-29 10:23 ` Shreyas B Prabhu
2014-09-29 23:28 ` Rafael J. Wysocki
2014-09-29 23:28 ` Rafael J. Wysocki
2014-09-30 8:12 ` Shreyas B Prabhu
2014-09-30 8:12 ` Shreyas B Prabhu
[not found] ` <542A65D5.4090003-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2014-09-30 20:13 ` Rafael J. Wysocki
2014-09-30 20:13 ` Rafael J. Wysocki
2014-09-30 20:13 ` Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2014-08-25 17:57 Shreyas B. Prabhu
2014-08-25 17:57 ` Shreyas B. Prabhu
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=5429330A.7000103@linux.vnet.ibm.com \
--to=shreyas@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=preeti@linux.vnet.ibm.com \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=srivatsa@MIT.EDU \
--cc=svaidy@linux.vnet.ibm.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.