[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5429330A.7000103@linux.vnet.ibm.com>
Date: Mon, 29 Sep 2014 15:53:06 +0530
From: Shreyas B Prabhu <shreyas@...ux.vnet.ibm.com>
To: linux-kernel@...r.kernel.org, Michael Ellerman <mpe@...erman.id.au>
CC: Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
"Srivatsa S. Bhat" <srivatsa@....EDU>,
"Preeti U. Murthy" <preeti@...ux.vnet.ibm.com>,
Vaidyanathan Srinivasan <svaidy@...ux.vnet.ibm.com>,
Rob Herring <robh+dt@...nel.org>,
Grant Likely <grant.likely@...aro.org>,
devicetree@...r.kernel.org, linux-pm@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH 0/9] powerpc/powernv: Support for fastsleep and winkle
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@...nel.crashing.org>
>> Cc: Paul Mackerras <paulus@...ba.org>
>> Cc: Michael Ellerman <mpe@...erman.id.au>
>> Cc: Rafael J. Wysocki <rjw@...ysocki.net>
>> Cc: Srivatsa S. Bhat <srivatsa@....EDU>
>> Cc: Preeti U. Murthy <preeti@...ux.vnet.ibm.com>
>> Cc: Vaidyanathan Srinivasan <svaidy@...ux.vnet.ibm.com>
>> Cc: Rob Herring <robh+dt@...nel.org>
>> Cc: Grant Likely <grant.likely@...aro.org>
>> Cc: devicetree@...r.kernel.org
>> Cc: linux-pm@...r.kernel.org
>> Cc: linuxppc-dev@...ts.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(-)
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists