Messages in this thread | | | From | "Doug Smythies" <> | Subject | RE: [PATCH v4 1/6] x86,sched: Add support for frequency invariance | Date | Mon, 25 Nov 2019 00:16:15 -0800 |
| |
On 2019.11.23 23:50 Doug Smythies wrote:
> Hi all, > > The address list here is likely incorrect, > and this e-mail is really about a kernel 5.4 > bisected regression. > > It had been since mid September, and kernel 5.3-rc8 since > I had tried this, so I wanted to try it again. Call it due diligence. > I focused on my own version of the "gitsource" test. > > Kernel 5.4-rc8 (as a baseline reference). > > My results were extremely surprising. > > As it turns out, at least on my test computer, both the > acpi-cpufreq and intel_cpufreq CPU frequency scaling drivers > using the schedutil governor are broken. For the tests that > I ran, there is negligible difference between them and the > performance governor. So, one might argue that they are not > broken, but rather working incredibly well, which if true > then this patch is no longer needed.
Should be able to gain better insight here with the intel_pstate_tracer.py utility, watching for differences in rates of rotation between CPUs. Too late tonight.
> > I bisected the kernel and got: > > first bad commit: [04cbfba6208592999d7bfe6609ec01dc3fde73f5] > Merge tag 'dmaengine-5.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma > > Which did not make any sense at all. I don't even know how > this is being pulled into my kernel compile. > O.K., I often (usually) make a mistake > during bisection, so I did it again, and got the same result. > > Relevant excerpt from the commit: > > diff --cc drivers/dma/Kconfig > index 413efef,03fa0c5..7c511e3 > --- a/drivers/dma/Kconfig > +++ b/drivers/dma/Kconfig > @@@ -294,8 -294,8 +294,8 @@@ config INTEL_IOATDM > If unsure, say N. > > config INTEL_IOP_ADMA > - tristate "Intel IOP ADMA support" > - depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX > + tristate "Intel IOP32x ADMA support" > - depends on ARCH_IOP32X > ++ depends on ARCH_IOP32X || COMPILE_TEST > select DMA_ENGINE > select ASYNC_TX_ENABLE_CHANNEL_SWITCH > help > > If I revert the above, manually, then everything behaves > as expected (minimally tested only, so far). > > Are others seeing the schedutil governors not working as > expected with any of kernels 5.4-rc1 - 5.4-rc8? > > I do have a pretty graph of my method of doing the > "gitsource" test, but am not ready to post it yet.
Graphs and write up (mostly the same as herein) are now here:
http://www.smythies.com/~doug/linux/single-threaded/k54regression/index.html
The graphs are rather crowded, sorry.
> Here is some gitsource test data, 6 runs of "make test", > the first run is discarded: > > "gg 6" means this 6 patch set. > > Kernel 5.4-rc8 + revert, intel_cpufreq/schedutil: 3899 seconds > Kernel 5.4-rc8 + gg 6 + revert, intel_cpufreq/schedutil: 2740.7 seconds > Ratio: 0.70 (as expected)
Kernel 5.4-rc8 + gg 6 + revert, forced CPU affinity performance: 2106.5 seconds
> Kernel 5.4-rc8, intel_cpufreq/schedutil: 2334.7 seconds (faster than expected) > Kernel 5.4-rc8 + gg 6 patch set, intel_cpufreq/schedutil: 2275.0 seconds (faster than expected) > Ratio: 0.97 (not as expected) > Kernel 5.4-rc8, intel_cpufreq/performance: 2215.3 seconds > Kernel 5.4-rc8, intel_cpufreq/ondemand: 3286.3 seconds > Re-stated from previous e-mail: > Kernel 5.3-rc8, intel_cpufreq/schedutil: ratio: 0.69 (I don't have the original times)
... Doug
| |