You have been subscribed to a public bug:

== Comment: #0 - Michael Ranweiler <mranw...@us.ibm.com> - 2018-09-04
00:50:14 ==

The CPUs remain in snooze state on an idle system when only the shallow
states disabled resulting in increased power consumption.

The commit 78eaa10f027c ("cpuidle: powernv/pseries: Auto-promotion of  snooze 
to deeper idle state") introduced a timeout for the snooze idle state so that 
it could be eventually be promoted to a deeper idle    state. The snooze 
timeout value is static and set to the target  residency of the next idle 
state, which would train the cpuidle governor to pick the next idle state 
eventually.
    
The unfortunate side-effect of this is that if the next idle state(s)  is 
disabled, the CPU will forever remain in snooze, despite the fact that the 
system is completely idle, and other deeper idle states are available.
    
This patch fixes the issue by dynamically setting the snooze timeout  to the 
target residency of the next enabled state on the device.
    
Before Patch:
      POWER8 : Only nap disabled.
      $ cpupower monitor sleep 30
      sleep took 30.01297 seconds and exited with status 0
                    |Idle_Stats
      PKG |CORE|CPU | snoo | Nap  | Fast
         0|   8|   0| 96.41|  0.00|  0.00
         0|   8|   1| 96.43|  0.00|  0.00
         0|   8|   2| 96.47|  0.00|  0.00
         0|   8|   3| 96.35|  0.00|  0.00
         0|   8|   4| 96.37|  0.00|  0.00
         0|   8|   5| 96.37|  0.00|  0.00
         0|   8|   6| 96.47|  0.00|  0.00
         0|   8|   7| 96.47|  0.00|  0.00
    
POWER9: Shallow states (stop0lite, stop1lite, stop2lite, stop0, stop1, stop2) 
disabled:
      $ cpupower monitor sleep 30
      sleep took 30.05033 seconds and exited with status 0
                    |Idle_Stats
      PKG |CORE|CPU | snoo | stop | stop | stop | stop | stop | stop | stop | 
stop
         0|  16|   0| 89.79|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  
0.00
         0|  16|   1| 90.12|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  
0.00
         0|  16|   2| 90.21|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  
0.00
         0|  16|   3| 90.29|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  
0.00
    


After Patch:
      POWER8 : Only nap disabled.
      $ cpupower monitor sleep 30
      sleep took 30.01200 seconds and exited with status 0
                    |Idle_Stats
      PKG |CORE|CPU | snoo | Nap  | Fast
         0|   8|   0| 16.58|  0.00| 77.21
         0|   8|   1| 18.42|  0.00| 75.38
         0|   8|   2|  4.70|  0.00| 94.09
         0|   8|   3| 17.06|  0.00| 81.73
         0|   8|   4|  3.06|  0.00| 95.73
         0|   8|   5|  7.00|  0.00| 96.80
         0|   8|   6|  1.00|  0.00| 98.79
         0|   8|   7|  5.62|  0.00| 94.17
    
      POWER9: Shallow states (stop0lite, stop1lite, stop2lite, stop0, stop1,  
stop2) disabled:
    
      $ cpupower monitor sleep 30
      sleep took 30.02110 seconds and exited with status 0
                    |Idle_Stats
      PKG |CORE|CPU | snoo | stop | stop | stop | stop | stop | stop | stop | 
stop
         0|   0|   0|  0.69|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  9.39| 
89.70
         0|   0|   1|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.05| 
93.21
         0|   0|   2|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00| 
89.93
         0|   0|   3|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00|  0.00| 
93.26


This fix  (commit 0a4ec6aa035a "cpuidle: powernv: Fix promotion from snooze if 
next state disabled") is in the -next branch of the powerpc tree and 
upstream:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/cpuidle/cpuidle-powernv.c?id=0a4ec6aa035a52c422eceb2ed51ed88392a3d6c2

** Affects: linux (Ubuntu)
     Importance: Undecided
     Assignee: Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage)
         Status: New


** Tags: architecture-ppc64le bugnameltc-171057 severity-critical 
targetmilestone-inin---
-- 
Ubuntu18.04.1: cpuidle: powernv: Fix promotion from snooze if next state 
disabled (performance)
https://bugs.launchpad.net/bugs/1790602
You received this bug notification because you are a member of Kernel Packages, 
which is subscribed to linux in Ubuntu.

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to