Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1448112
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v3 0/3] cpufreq: avoid redundant driver calls in schedutil |
| Date | 2016-07-21 22:10 +0200 |
| Message-ID | <rXss9-3T5-11@gated-at.bofh.it> (permalink) |
| References | <rUyX7-7ZC-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 13-07-16, 13:25, Steve Muckle wrote: > Invoking the cpufreq driver to set a frequency can be expensive. On platforms > with a cpufreq driver that does not support fast switching a thread must be > woken to complete the operation. IPIs will also occur if and when support to > process remote task wakeups is added in schedutil. > > Currently schedutil calculates a raw frequency request from scheduler > utilization data. This raw frequency request does not correlate to supported > cpufreq driver frequencies aside from being capped by the CPU's maximum > frequency. Consequently, there may be many consecutive requests for different > raw frequency values which all translate to the same driver-supported > frequency. For example on a platform with 3 supported frequencies 200MHz, > 400MHz, and 600MHz, raw requests for 257MHz, 389MHz, and 307MHz all map to a > driver-supported frequency of 400MHz in schedutil. Assuming these requests were > consecutive and there were no changes in policy limits (min/max), there is no > need to issue the second or third request. > > In order to resolve a raw frequency request to a driver-supported one a new > cpufreq API is added, cpufreq_driver_resolve_freq(). This API relies on a new > cpufreq driver callback in the case of ->target() style drivers. Otherwise it > uses the existing frequency table operations. > > Lookups are cached both in cpufreq_driver_resolve_freq() (for the benefit of the > driver) and in schedutil. > > Changes since v2: > - incorporated feedback from Viresh to use resolve_freq driver callbacks > only for ->target() style drivers, to use cpufreq's freq table operations, > and move freq mapping caching into cpufreq policy Sorry for the delay buddy :( I have some concerns for the first patch. The second and third patch look fine. Feel free to add my Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> for them. -- viresh
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH v3 0/3] cpufreq: avoid redundant driver calls in schedutil Steve Muckle <steve.muckle@linaro.org> - 2016-07-13 22:30 +0200
[PATCH v3 3/3] cpufreq: acpi-cpufreq: use cached frequency mapping when possible Steve Muckle <steve.muckle@linaro.org> - 2016-07-13 22:30 +0200
[PATCH v3 2/3] cpufreq: schedutil: map raw required frequency to driver frequency Steve Muckle <steve.muckle@linaro.org> - 2016-07-13 22:30 +0200
[PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Steve Muckle <steve.muckle@linaro.org> - 2016-07-13 22:30 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-21 22:00 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-07-21 22:30 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-21 22:40 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-07-21 22:50 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-21 23:00 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-21 23:20 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-07-21 23:20 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Steve Muckle <steve.muckle@linaro.org> - 2016-07-22 01:30 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-22 01:40 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Steve Muckle <steve.muckle@linaro.org> - 2016-07-22 01:40 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Steve Muckle <steve.muckle@linaro.org> - 2016-07-22 01:50 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Steve Muckle <steve.muckle@linaro.org> - 2016-07-22 02:50 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-22 17:20 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Steve Muckle <steve.muckle@linaro.org> - 2016-07-22 19:50 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-22 01:40 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Steve Muckle <steve.muckle@linaro.org> - 2016-07-22 01:40 +0200
Re: [PATCH v3 1/3] cpufreq: add cpufreq_driver_resolve_freq() Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-21 23:20 +0200
Re: [PATCH v3 0/3] cpufreq: avoid redundant driver calls in schedutil Pingbo Wen <pingbo.wen@linaro.org> - 2016-07-14 12:10 +0200
Re: [PATCH v3 0/3] cpufreq: avoid redundant driver calls in schedutil Steve Muckle <steve.muckle@linaro.org> - 2016-07-14 20:10 +0200
Re: [PATCH v3 0/3] cpufreq: avoid redundant driver calls in schedutil Viresh Kumar <viresh.kumar@linaro.org> - 2016-07-21 22:10 +0200
csiph-web