#
8bcedb4c |
| 06-Jun-2022 |
Wyes Karny <wyes.karny@amd.com> |
x86: Handle idle=nomwait cmdline properly for x86_idle
When kernel is booted with idle=nomwait do not use MWAIT as the default idle state.
If the user boots the kernel with idle=nomwait, it is a cl
x86: Handle idle=nomwait cmdline properly for x86_idle
When kernel is booted with idle=nomwait do not use MWAIT as the default idle state.
If the user boots the kernel with idle=nomwait, it is a clear direction to not use mwait as the default idle state. However, the current code does not take this into consideration while selecting the default idle state on x86.
Fix it by checking for the idle=nomwait boot option in prefer_mwait_c1_over_halt().
Also update the documentation around idle=nomwait appropriately.
[ dhansen: tweak commit message ]
Signed-off-by: Wyes Karny <wyes.karny@amd.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Tested-by: Zhang Rui <rui.zhang@intel.com> Link: https://lkml.kernel.org/r/fdc2dc2d0a1bc21c2f53d989ea2d2ee3ccbc0dbe.1654538381.git-series.wyes.karny@amd.com
show more ...
|
#
154ae8bb |
| 02-Jun-2021 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
cpuidle: teo: Use kerneldoc documentation in admin-guide
There are two descriptions of the TEO (Timer Events Oriented) cpuidle governor in the kernel source tree, one in the C file containing its co
cpuidle: teo: Use kerneldoc documentation in admin-guide
There are two descriptions of the TEO (Timer Events Oriented) cpuidle governor in the kernel source tree, one in the C file containing its code and one in cpuidle.rst which is part of admin-guide.
Instead of trying to keep them both in sync and in order to reduce text duplication, include the governor description from the C file directly into cpuidle.rst.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
23d18dcf |
| 31-Oct-2020 |
Julia Lawall <Julia.Lawall@inria.fr> |
Documentation: PM: cpuidle: correct path name
cpu/ is needed before cpu<N>/
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
#
6841ca15 |
| 31-Oct-2020 |
Julia Lawall <Julia.Lawall@inria.fr> |
Documentation: PM: cpuidle: correct typo
cerainly -> certainly
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
#
eac53b3e |
| 29-Sep-2020 |
Yoann Congal <yoann.congal@smile.fr> |
Documentation: PM: Fix a reStructuredText syntax error
Fix a reStructuredText syntax error in the cpuidle PM admin-guide documentation: the ``...'' quotation marks are parsed as partial ''...'' reSt
Documentation: PM: Fix a reStructuredText syntax error
Fix a reStructuredText syntax error in the cpuidle PM admin-guide documentation: the ``...'' quotation marks are parsed as partial ''...'' reStructuredText markup and break the output formatting.
This change them to "...".
Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
f49735f4 |
| 22-Sep-2020 |
Lina Iyer <ilina@codeaurora.org> |
cpuidle: record state entry rejection statistics
CPUs may fail to enter the chosen idle state if there was a pending interrupt, causing the cpuidle driver to return an error value.
Record that and
cpuidle: record state entry rejection statistics
CPUs may fail to enter the chosen idle state if there was a pending interrupt, causing the cpuidle driver to return an error value.
Record that and export it via sysfs along with the other idle state statistics.
This could prove useful in understanding behavior of the governor and the system during usecases that involve multiple CPUs.
Signed-off-by: Lina Iyer <ilina@codeaurora.org> [ rjw: Changelog and documentation edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
7395683a |
| 19-May-2020 |
Hanjun Guo <guohanjun@huawei.com> |
Documentation: cpuidle: update the document
Update the document after the remove of cpuidle_sysfs_switch.
Signed-off-by: Hanjun Guo <guohanjun@huawei.com> Reviewed-by: Doug Smythies <dsmythies@telu
Documentation: cpuidle: update the document
Update the document after the remove of cpuidle_sysfs_switch.
Signed-off-by: Hanjun Guo <guohanjun@huawei.com> Reviewed-by: Doug Smythies <dsmythies@telus.net> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
b8e6e27c |
| 11-Feb-2020 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
Documentation: PM: QoS: Update to reflect previous code changes
Update the PM QoS documentation to reflect the previous code changes regarding the removal of PM QoS classes and the CPU latency QoS A
Documentation: PM: QoS: Update to reflect previous code changes
Update the PM QoS documentation to reflect the previous code changes regarding the removal of PM QoS classes and the CPU latency QoS API rework.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Tested-by: Amit Kucheria <amit.kucheria@linaro.org>
show more ...
|
#
f06572ef |
| 05-Feb-2020 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
cpuidle: Documentation: Clean up PM QoS description
Clean up the language in one paragraph in the PM QoS description in Documentation/admin-guide/pm/cpuidle.rst.
Signed-off-by: Rafael J. Wysocki <r
cpuidle: Documentation: Clean up PM QoS description
Clean up the language in one paragraph in the PM QoS description in Documentation/admin-guide/pm/cpuidle.rst.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
75a80267 |
| 13-Dec-2019 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
cpuidle: Allow idle states to be disabled by default
In certain situations it may be useful to prevent some idle states from being used by default while allowing user space to enable them later on.
cpuidle: Allow idle states to be disabled by default
In certain situations it may be useful to prevent some idle states from being used by default while allowing user space to enable them later on.
For this purpose, introduce a new state flag, CPUIDLE_FLAG_OFF, to mark idle states that should be disabled by default, make the core set CPUIDLE_STATE_DISABLED_BY_USER for those states at the initialization time and add a new state attribute in sysfs, "default_status", to inform user space of the initial status of the given idle state ("disabled" if CPUIDLE_FLAG_OFF is set for it, "enabled" otherwise).
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
fc1860d6 |
| 03-Apr-2019 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
Documentation: PM: Unify copyright notices
Unify copyright notices in the .rst files under Documentation/driver-api/pm and Documentation/admin-quide/pm.
Signed-off-by: Rafael J. Wysocki <rafael.j.w
Documentation: PM: Unify copyright notices
Unify copyright notices in the .rst files under Documentation/driver-api/pm and Documentation/admin-quide/pm.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
show more ...
|
#
fc7db767 |
| 03-Apr-2019 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
Documentation: PM: Add SPDX license tags to multiple files
Add SPDX license tags to .rst files under Documentation/driver-api/pm and Documentation/admin-quide/pm.
Signed-off-by: Rafael J. Wysocki <
Documentation: PM: Add SPDX license tags to multiple files
Add SPDX license tags to .rst files under Documentation/driver-api/pm and Documentation/admin-quide/pm.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
show more ...
|
#
b26bf6ab |
| 04-Jan-2019 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
cpuidle: New timer events oriented governor for tickless systems
The venerable menu governor does some things that are quite questionable in my view.
First, it includes timer wakeups in the pattern
cpuidle: New timer events oriented governor for tickless systems
The venerable menu governor does some things that are quite questionable in my view.
First, it includes timer wakeups in the pattern detection data and mixes them up with wakeups from other sources which in some cases causes it to expect what essentially would be a timer wakeup in a time frame in which no timer wakeups are possible (because it knows the time until the next timer event and that is later than the expected wakeup time).
Second, it uses the extra exit latency limit based on the predicted idle duration and depending on the number of tasks waiting on I/O, even though those tasks may run on a different CPU when they are woken up. Moreover, the time ranges used by it for the sleep length correction factors depend on whether or not there are tasks waiting on I/O, which again doesn't imply anything in particular, and they are not correlated to the list of available idle states in any way whatever.
Also, the pattern detection code in menu may end up considering values that are too large to matter at all, in which cases running it is a waste of time.
A major rework of the menu governor would be required to address these issues and the performance of at least some workloads (tuned specifically to the current behavior of the menu governor) is likely to suffer from that. It is thus better to introduce an entirely new governor without them and let everybody use the governor that works better with their actual workloads.
The new governor introduced here, the timer events oriented (TEO) governor, uses the same basic strategy as menu: it always tries to find the deepest idle state that can be used in the given conditions. However, it applies a different approach to that problem.
First, it doesn't use "correction factors" for the time till the closest timer, but instead it tries to correlate the measured idle duration values with the available idle states and use that information to pick up the idle state that is most likely to "match" the upcoming CPU idle interval.
Second, it doesn't take the number of "I/O waiters" into account at all and the pattern detection code in it avoids taking timer wakeups into account. It also only uses idle duration values less than the current time till the closest timer (with the tick excluded) for that purpose.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
show more ...
|
#
04dab58a |
| 10-Dec-2018 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
cpuidle: Add 'above' and 'below' idle state metrics
Add two new metrics for CPU idle states, "above" and "below", to count the number of times the given state had been asked for (or entered from the
cpuidle: Add 'above' and 'below' idle state metrics
Add two new metrics for CPU idle states, "above" and "below", to count the number of times the given state had been asked for (or entered from the kernel's perspective), but the observed idle duration turned out to be too short or too long for it (respectively).
These metrics help to estimate the quality of the CPU idle governor in use.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
61cb5758 |
| 05-Dec-2018 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
cpuidle: Add cpuidle.governor= command line parameter
Add cpuidle.governor= command line parameter to allow the default cpuidle governor to be replaced.
That is useful, for example, if someone runn
cpuidle: Add cpuidle.governor= command line parameter
Add cpuidle.governor= command line parameter to allow the default cpuidle governor to be replaced.
That is useful, for example, if someone running a tickful kernel wants to use the menu governor on it.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
show more ...
|
#
aa5eee35 |
| 29-Nov-2018 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
Documentation: admin-guide: PM: Add cpuidle document
Important information is missing from user/admin cpuidle documentation available today, so add a new user/admin document for cpuidle containing c
Documentation: admin-guide: PM: Add cpuidle document
Important information is missing from user/admin cpuidle documentation available today, so add a new user/admin document for cpuidle containing current and comprehensive information to admin-guide and drop the old .txt documents it is replacing.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
show more ...
|