linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>,
	Michael Neuling <mikey@neuling.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	"Shreyas B. Prabhu" <shreyasbp@gmail.com>,
	Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>,
	Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
	Anton Blanchard <anton@samba.org>,
	Balbir Singh <bsingharora@gmail.com>,
	Akshay Adiga <akshay.adiga@linux.vnet.ibm.com>,
	Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	"Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
Subject: [v2 PATCH 0/4] powernv:idle: Fixes for CPU-Hotplug on POWER DD1.0
Date: Mon, 20 Mar 2017 21:24:14 +0530	[thread overview]
Message-ID: <cover.1490024477.git.ego@linux.vnet.ibm.com> (raw)

From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>

Hi,

This is the second version of the patchset containing the fixes to
make CPU-Hotplug working on correctly on POWER9 DD1 systems.

The earlier version of this patchset can be found here:
https://lkml.org/lkml/2017/3/13/46

This patch addresses the feedback provided by Nicholas Piggin. The key
changes from the earlier version are:

- Move the piece of code in powernv/smp.c::pnv_smp_cpu_kill_self() which
  transitions the CPU to the deepest available platform idle state to a
  new function named pnv_cpu_offline() in powernv/idle.c. The rationale
  behind this code movement is that the data required to determine the
  deepest available platform state resides in powernv/idle.c.

- Adds a more descriptive warning describing the consequences of no
  suitable default/deepest stop states being available.

- Update the commit log for "powernv:Recover correct PACA on wakeup
  from a stop on P9 DD1" describing the problem that it is trying to
  solve.  Also ensure that on P9 DD1, NVGPRs are restored from the
  stack on the way out by setting the NAPSTATELOST in paca.

I have retained Nicholas Piggin's Reviewed-by tag for the second patch
in this series (was first patch in the previous series) even though
the file containing the code is different.

There are four patches in the series.

- The first patch moves the platform-idle code invoked when a CPU offlined from powernv/smp.c to powernv/idle.c

- The second adds a fallback mechanism for CPU-Hotplug when no
  platform idle state is available.

- The third patch ensures that the kernel doesn't use any stop state
  that is not exposed by the firmware.

- The fourth patch adds a recovery framework for correctly recovering
  paca pointer of the thread waking up from a stop.

These patches are based on v4.11-rc3.

The patches have been tested with stop1 (ESL=EC=1) as the
deepest-state entered into during CPU-Hotplug.

Gautham R. Shenoy (4):
  powernv: Move CPU-Offline idle state invocation from smp.c to idle.c
  powernv:smp: Add busy-wait loop as fall back for CPU-Hotplug
  powernv:idle: Don't override default/deepest directly in kernel
  powernv: Recover correct PACA on wakeup from a stop on P9 DD1

 arch/powerpc/include/asm/cpuidle.h       |  1 +
 arch/powerpc/include/asm/paca.h          |  5 ++
 arch/powerpc/kernel/asm-offsets.c        |  1 +
 arch/powerpc/kernel/idle_book3s.S        | 49 +++++++++++++++++-
 arch/powerpc/platforms/powernv/idle.c    | 88 ++++++++++++++++++++++++++------
 arch/powerpc/platforms/powernv/powernv.h |  2 -
 arch/powerpc/platforms/powernv/smp.c     | 18 +------
 7 files changed, 129 insertions(+), 35 deletions(-)

-- 
1.9.4

             reply	other threads:[~2017-03-20 15:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-20 15:54 Gautham R. Shenoy [this message]
2017-03-20 15:54 ` [v2 PATCH 1/4] powernv: Move CPU-Offline idle state invocation from smp.c to idle.c Gautham R. Shenoy
2017-03-20 16:35   ` Nicholas Piggin
2017-03-22  5:41     ` Gautham R Shenoy
2017-03-20 15:54 ` [v2 PATCH 2/4] powernv:smp: Add busy-wait loop as fall back for CPU-Hotplug Gautham R. Shenoy
2017-03-20 15:54 ` [v2 PATCH 3/4] powernv:idle: Don't override default/deepest directly in kernel Gautham R. Shenoy
2017-03-20 16:39   ` Nicholas Piggin
2017-03-22  5:43     ` Gautham R Shenoy
2017-03-20 15:54 ` [v2 PATCH 4/4] powernv: Recover correct PACA on wakeup from a stop on P9 DD1 Gautham R. Shenoy
2017-03-20 16:59   ` Nicholas Piggin
2017-03-22  3:29     ` Nicholas Piggin
2017-03-22  5:58     ` Gautham R Shenoy
2017-03-22  8:30       ` Nicholas Piggin

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=cover.1490024477.git.ego@linux.vnet.ibm.com \
    --to=ego@linux.vnet.ibm.com \
    --cc=akshay.adiga@linux.vnet.ibm.com \
    --cc=anton@samba.org \
    --cc=benh@kernel.crashing.org \
    --cc=bsingharora@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mikey@neuling.org \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=shilpa.bhat@linux.vnet.ibm.com \
    --cc=shreyasbp@gmail.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).