Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Wed, 2 Dec 2020 18:39:14 +0100 | Subject | Re: [RFC][PATCH 1/2] cpufreq: Add special-purpose fast-switching callback for drivers |
| |
On Wed, Dec 2, 2020 at 4:59 PM Doug Smythies <dsmythies@telus.net> wrote: > > Hi Rafael, > > On 2020.11.30 10:37 Rafael J. Wysocki wrote: > > > First off, some cpufreq drivers (eg. intel_pstate) can pass hints > > beyond the current target frequency to the hardware and there are no > > provisions for doing that in the cpufreq framework. In particular, > > today the driver has to assume that it should allow the frequency to > > Forgot the important "not":
Right, thanks for noticing that!
> today the driver has to assume that it should allow not the frequency to > > > fall below the one requested by the governor (or the required capacity > > may not be provided) which may not be the case and which may lead to > > excessive energy usage in some scenarios. > > > > Second, the hints passed by these drivers to the hardware neeed not > > s/neeed/need
Yup, thanks!
> ... > > O.K. this is good. > > The problem with my basic CPU frequency verses load test with the > schedutil governor is that it is always so oscillatory it is pretty > much not possible to conclude anything. So I re-worked the test > to look at Processor Package Power load instead. > > In a previous e-mail [1] I had reported the power differences > for one periodic load at one frequency, as a (apparently cherry picked) > example. Quoted: > > > schedutil governor: > > acpi-cpufreq: good > > intel_cpufreq hwp: bad <<<<< Now good, with this patch set.
OK, great!
> > intel_cpufreq no hwp: good > > ... > > periodic workflow at 347 hertz. > > ~36% load at 4.60 GHz (where hwp operates) > > ~55% load at 3.2 GHz (where no hwp operates) > > > > intel_cpufreq hwp: 9.6 processor package watts. 45.8 watts on the mains to the computer. > > intel_cpufreq no hwp: ~6 processor package watts. ~41 watts on the mains to the computer. (noisy) > > So this time, I only have power/energy data, and a relatively easy way to compress all 12,000 > samples into some concise summary is to simply find the average power for the entire experiment: > > Legend: > hwp: Kernel 5.10-rc6, HWP enabled; intel_cpufreq; schedutil (always) > rjw: Kernel 5.10-rc6 + this patch set, HWP enabled; intel_cpu-freq; schedutil > no-hwp: Kernel 5.10-rc6, HWP disabled; intel_cpu-freq; schedutil > acpi-cpufreq: Kernel 5.10-rc6, HWP disabled; acpi-cpufreq; schedutil > > load work/sleep frequency: 73 Hertz: > hwp: Average: 12.00822 watts > rjw: Average: 10.18089 watts > no-hwp: Average: 10.21947 watts > acpi-cpufreq: Average: 9.06585 watts > > load work/sleep frequency: 113 Hertz: > > hwp: Average: 12.01056 > rjw: Average: 10.12303 > no-hwp: Average: 10.08228 > acpi-cpufreq: Average: 9.02215 > > load work/sleep frequency: 211 Hertz: > > hwp: Average: 12.16067 > rjw: Average: 10.24413 > no-hwp: Average: 10.12463 > acpi-cpufreq: Average: 9.19175 > > load work/sleep frequency: 347 Hertz: > > hwp: Average: 12.34169 > rjw: Average: 10.79980 > no-hwp: Average: 10.57296 > acpi-cpufreq: Average: 9.84709 > > load work/sleep frequency: 401 Hertz: > > hwp: Average: 12.42562 > rjw: Average: 11.12465 > no-hwp: Average: 11.24203 > acpi-cpufreq: Average: 10.78670 > > [1] https://marc.info/?l=linux-pm&m=159769839401767&w=2 > > My tests results graphs: > Note: I have to code the web site, or I get hammered by bots. > Note: it is .com only because it was less expensive than .org > 73 Hertz: > Double u double u double u dot smythies dot .com/~doug/linux/s18/hwp/k510-rc6/su73/ > 113 Hertz: > Double u double u double u dot smythies dot .com/~doug/linux/s18/hwp/k510-rc6/su113/ > 211 Hertz: > Double u double u double u dot smythies dot .com/~doug/linux/s18/hwp/k510-rc6/su211/ > 347 Hertz: > Double u double u double u dot smythies dot .com/~doug/linux/s18/hwp/k510-rc6/su347/ > 401 Hertz: > Double u double u double u dot smythies dot .com/~doug/linux/s18/hwp/k510-rc6/su401/
Thanks for the data, this is encouraging!
| |