1 .. SPDX-License-Identifier: GPL-2.0 << 2 .. include:: <isonum.txt> << 3 << 4 =========================== 1 =========================== 5 Power Management Strategies 2 Power Management Strategies 6 =========================== 3 =========================== 7 4 8 :Copyright: |copy| 2017 Intel Corporation !! 5 :: 9 << 10 :Author: Rafael J. Wysocki <rafael.j.wysocki@in << 11 6 >> 7 Copyright (c) 2017 Intel Corp., Rafael J. Wysocki <rafael.j.wysocki@intel.com> 12 8 13 The Linux kernel supports two major high-level 9 The Linux kernel supports two major high-level power management strategies. 14 10 15 One of them is based on using global low-power 11 One of them is based on using global low-power states of the whole system in 16 which user space code cannot be executed and t 12 which user space code cannot be executed and the overall system activity is 17 significantly reduced, referred to as :doc:`sl 13 significantly reduced, referred to as :doc:`sleep states <sleep-states>`. The 18 kernel puts the system into one of these state 14 kernel puts the system into one of these states when requested by user space 19 and the system stays in it until a special sig 15 and the system stays in it until a special signal is received from one of 20 designated devices, triggering a transition to 16 designated devices, triggering a transition to the ``working state`` in which 21 user space code can run. Because sleep states 17 user space code can run. Because sleep states are global and the whole system 22 is affected by the state changes, this strateg 18 is affected by the state changes, this strategy is referred to as the 23 :doc:`system-wide power management <system-wid 19 :doc:`system-wide power management <system-wide>`. 24 20 25 The other strategy, referred to as the :doc:`w 21 The other strategy, referred to as the :doc:`working-state power management 26 <working-state>`, is based on adjusting the po 22 <working-state>`, is based on adjusting the power states of individual hardware 27 components of the system, as needed, in the wo 23 components of the system, as needed, in the working state. In consequence, if 28 this strategy is in use, the working state of 24 this strategy is in use, the working state of the system usually does not 29 correspond to any particular physical configur 25 correspond to any particular physical configuration of it, but can be treated as 30 a metastate covering a range of different powe 26 a metastate covering a range of different power states of the system in which 31 the individual components of it can be either 27 the individual components of it can be either ``active`` (in use) or 32 ``inactive`` (idle). If they are active, they 28 ``inactive`` (idle). If they are active, they have to be in power states 33 allowing them to process data and to be access 29 allowing them to process data and to be accessed by software. In turn, if they 34 are inactive, ideally, they should be in low-p 30 are inactive, ideally, they should be in low-power states in which they may not 35 be accessible. 31 be accessible. 36 32 37 If all of the system components are active, th 33 If all of the system components are active, the system as a whole is regarded as 38 "runtime active" and that situation typically 34 "runtime active" and that situation typically corresponds to the maximum power 39 draw (or maximum energy usage) of it. If all 35 draw (or maximum energy usage) of it. If all of them are inactive, the system 40 as a whole is regarded as "runtime idle" which 36 as a whole is regarded as "runtime idle" which may be very close to a sleep 41 state from the physical system configuration a 37 state from the physical system configuration and power draw perspective, but 42 then it takes much less time and effort to sta 38 then it takes much less time and effort to start executing user space code than 43 for the same system in a sleep state. However 39 for the same system in a sleep state. However, transitions from sleep states 44 back to the working state can only be started 40 back to the working state can only be started by a limited set of devices, so 45 typically the system can spend much more time 41 typically the system can spend much more time in a sleep state than it can be 46 runtime idle in one go. For this reason, syst 42 runtime idle in one go. For this reason, systems usually use less energy in 47 sleep states than when they are runtime idle m 43 sleep states than when they are runtime idle most of the time. 48 44 49 Moreover, the two power management strategies 45 Moreover, the two power management strategies address different usage scenarios. 50 Namely, if the user indicates that the system 46 Namely, if the user indicates that the system will not be in use going forward, 51 for example by closing its lid (if the system 47 for example by closing its lid (if the system is a laptop), it probably should 52 go into a sleep state at that point. On the o 48 go into a sleep state at that point. On the other hand, if the user simply goes 53 away from the laptop keyboard, it probably sho 49 away from the laptop keyboard, it probably should stay in the working state and 54 use the working-state power management in case 50 use the working-state power management in case it becomes idle, because the user 55 may come back to it at any time and then may w 51 may come back to it at any time and then may want the system to be immediately 56 accessible. 52 accessible.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.