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


Groups > linux.kernel > #1681646

[PATCH 0/5] powernv:idle: Cleanup idle states initialization

From "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject [PATCH 0/5] powernv:idle: Cleanup idle states initialization
Date 2017-07-05 18:40 +0200
Message-ID <tZVvk-dV-7@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

Hi,

This patch set aims at cleaning up the powernv idle initialization
code mainly covering the following

a) Currently there is redundant code for parsing the device-tree for
   idle states. We do it in two places, once during the platform idle
   initialization, once more when the cpidle driver initializes. In
   this patchset the device-tree is parsed only once and we maintain
   an in-kernel data structure with the details of each platform idle
   state. The cpu-idle initialization code looks at this data
   structure for initializing cpuidle states. This makes the cpuidle
   driver initialization more streamlined.

b) Currently the idle initialzation code for power8 and power9 are
   mixed up. In this patchset we segregate them into their respective
   functions for improved readability.

c) The current code has a bug when the Sleep-Winkle-Engine is unable
   to restore the hypervisor states for the deep idle states that lose
   full hypervisor context, since in such cases we don't disable such
   deep states. Thus, the CPUs that enter such deep states don't
   wakeup correctly.

Patch 1 in the series addresses a).

Patches 2,3,4 address b)

Patch 5 fixes the bug c)

These patches are applied on top of next branch of the powerpc-linux
git tree. The patches have been tested on POWER8 and POWER9.
   
Gautham R. Shenoy (5):
  powernv:idle: Move device-tree parsing to one place.
  powernv:idle: Change return type of pnv_probe_idle_states to int
  powernv:idle: Define idle init function for power8
  powernv:idle: Move initialization of sibling pacas to
    pnv_alloc_idle_core_states
  powernv:idle: Disable LOSE_FULL_CONTEXT states when stop-api fails.

 arch/powerpc/include/asm/cpuidle.h    |  32 +-
 arch/powerpc/platforms/powernv/idle.c | 576 ++++++++++++++++++++++++++--------
 drivers/cpuidle/cpuidle-powernv.c     | 233 ++++----------
 3 files changed, 521 insertions(+), 320 deletions(-)

-- 
1.9.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 0/5] powernv:idle: Cleanup idle states initialization "Gautham R. Shenoy" <ego@linux.vnet.ibm.com> - 2017-07-05 18:40 +0200
  [PATCH 3/5] powernv:idle: Define idle init function for power8 "Gautham R. Shenoy" <ego@linux.vnet.ibm.com> - 2017-07-05 18:40 +0200
    Re: [PATCH 3/5] powernv:idle: Define idle init function for power8 Nicholas Piggin <npiggin@gmail.com> - 2017-07-06 17:10 +0200
      Re: [PATCH 3/5] powernv:idle: Define idle init function for power8 Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2017-07-07 14:50 +0200
  [PATCH 5/5] powernv:idle: Disable LOSE_FULL_CONTEXT states when stop-api fails. "Gautham R. Shenoy" <ego@linux.vnet.ibm.com> - 2017-07-05 18:40 +0200
    Re: [PATCH 5/5] powernv:idle: Disable LOSE_FULL_CONTEXT states when  stop-api fails. Nicholas Piggin <npiggin@gmail.com> - 2017-07-06 17:30 +0200
      Re: [PATCH 5/5] powernv:idle: Disable LOSE_FULL_CONTEXT states when  stop-api fails. Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2017-07-07 19:40 +0200
        Re: [PATCH 5/5] powernv:idle: Disable LOSE_FULL_CONTEXT states when  stop-api fails. Nicholas Piggin <npiggin@gmail.com> - 2017-07-08 11:10 +0200
          Re: [PATCH 5/5] powernv:idle: Disable LOSE_FULL_CONTEXT states when  stop-api fails. Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2017-07-11 07:10 +0200
  [PATCH 2/5] powernv:idle: Change return type of pnv_probe_idle_states to int "Gautham R. Shenoy" <ego@linux.vnet.ibm.com> - 2017-07-05 18:40 +0200
    Re: [PATCH 2/5] powernv:idle: Change return type of  pnv_probe_idle_states to int Nicholas Piggin <npiggin@gmail.com> - 2017-07-06 17:10 +0200
      Re: [PATCH 2/5] powernv:idle: Change return type of  pnv_probe_idle_states to int Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2017-07-07 14:40 +0200
  [PATCH 1/5] powernv:idle: Move device-tree parsing to one place. "Gautham R. Shenoy" <ego@linux.vnet.ibm.com> - 2017-07-05 18:40 +0200
    Re: [PATCH 1/5] powernv:idle: Move device-tree parsing to one  place. Nicholas Piggin <npiggin@gmail.com> - 2017-07-06 17:00 +0200
      Re: [PATCH 1/5] powernv:idle: Move device-tree parsing to one place. Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2017-07-07 13:30 +0200
        Re: [PATCH 1/5] powernv:idle: Move device-tree parsing to one  place. Nicholas Piggin <npiggin@gmail.com> - 2017-07-08 10:50 +0200
  [PATCH 4/5] powernv:idle: Move initialization of sibling pacas to pnv_alloc_idle_core_states "Gautham R. Shenoy" <ego@linux.vnet.ibm.com> - 2017-07-05 18:40 +0200
    Re: [PATCH 4/5] powernv:idle: Move initialization of sibling pacas  to pnv_alloc_idle_core_states Nicholas Piggin <npiggin@gmail.com> - 2017-07-06 17:20 +0200
      Re: [PATCH 4/5] powernv:idle: Move initialization of sibling pacas  to pnv_alloc_idle_core_states Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2017-07-07 17:10 +0200
        Re: [PATCH 4/5] powernv:idle: Move initialization of sibling pacas  to pnv_alloc_idle_core_states Nicholas Piggin <npiggin@gmail.com> - 2017-07-08 11:10 +0200
          Re: [PATCH 4/5] powernv:idle: Move initialization of sibling pacas to pnv_alloc_idle_core_states Michael Ellerman <mpe@ellerman.id.au> - 2017-07-10 06:40 +0200

csiph-web