diff options
author | Randy Dunlap <randy.dunlap@oracle.com> | 2008-03-12 18:10:51 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-03-12 18:10:51 -0400 |
commit | 53471121a8aad3f0b590bfce7c95a1f5f52150f3 (patch) | |
tree | badfd31e8602fab32d9b5e693c6558e32e298e7d /Documentation/pm_qos_interface.txt | |
parent | a09a20b526fde0611b49b76521e3c546a47216a5 (diff) | |
download | lwn-53471121a8aad3f0b590bfce7c95a1f5f52150f3.tar.gz lwn-53471121a8aad3f0b590bfce7c95a1f5f52150f3.zip |
documentation: Move power-related files to Documentation/power/
Move 00-INDEX entries to power/00-INDEX (and add entry for
pm_qos_interface.txt).
Update references to moved filenames.
Fix some trailing whitespace.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'Documentation/pm_qos_interface.txt')
-rw-r--r-- | Documentation/pm_qos_interface.txt | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/Documentation/pm_qos_interface.txt b/Documentation/pm_qos_interface.txt deleted file mode 100644 index 49adb1a33514..000000000000 --- a/Documentation/pm_qos_interface.txt +++ /dev/null @@ -1,59 +0,0 @@ -PM quality of Service interface. - -This interface provides a kernel and user mode interface for registering -performance expectations by drivers, subsystems and user space applications on -one of the parameters. - -Currently we have {cpu_dma_latency, network_latency, network_throughput} as the -initial set of pm_qos parameters. - -The infrastructure exposes multiple misc device nodes one per implemented -parameter. The set of parameters implement is defined by pm_qos_power_init() -and pm_qos_params.h. This is done because having the available parameters -being runtime configurable or changeable from a driver was seen as too easy to -abuse. - -For each parameter a list of performance requirements is maintained along with -an aggregated target value. The aggregated target value is updated with -changes to the requirement list or elements of the list. Typically the -aggregated target value is simply the max or min of the requirement values held -in the parameter list elements. - -From kernel mode the use of this interface is simple: -pm_qos_add_requirement(param_id, name, target_value): -Will insert a named element in the list for that identified PM_QOS parameter -with the target value. Upon change to this list the new target is recomputed -and any registered notifiers are called only if the target value is now -different. - -pm_qos_update_requirement(param_id, name, new_target_value): -Will search the list identified by the param_id for the named list element and -then update its target value, calling the notification tree if the aggregated -target is changed. with that name is already registered. - -pm_qos_remove_requirement(param_id, name): -Will search the identified list for the named element and remove it, after -removal it will update the aggregate target and call the notification tree if -the target was changed as a result of removing the named requirement. - - -From user mode: -Only processes can register a pm_qos requirement. To provide for automatic -cleanup for process the interface requires the process to register its -parameter requirements in the following way: - -To register the default pm_qos target for the specific parameter, the process -must open one of /dev/[cpu_dma_latency, network_latency, network_throughput] - -As long as the device node is held open that process has a registered -requirement on the parameter. The name of the requirement is "process_<PID>" -derived from the current->pid from within the open system call. - -To change the requested target value the process needs to write a s32 value to -the open device node. This translates to a pm_qos_update_requirement call. - -To remove the user mode request for a target value simply close the device -node. - - - |