2016-09-23 11:23 GMT+02:00 Antoine Pitrou <solip...@pitrou.net>: > Did the benchmark really become 2x faster, or did the clock become 2x > slower? > > If you found a magic knob in your CPU that suddently makes it 2x > faster, many people would probably like to hear about it ;-)
He he. It's a matter of point of view :-) When I got the issue for the first time last Friday, it was like my CPU became 2x faster: https://bugzilla.redhat.com/show_bug.cgi?id=1378529#c1 I guess that for some reasons, the CPU frequency was 1.6 GHz (min frequency) even if I configured the CPU frequency governor to performance. But an unknown reason, suddenly, the governor noticed that my CPU should run at 3.4 GHz and so the benchmark "became faster". In fact, the benchmark started at half speed (1.6 GHz), and suddenly ran at the "normal speed" (3.4 GHz). > Can you tell us how to "reproduce"? https://bugzilla.redhat.com/show_bug.cgi?id=1378529 * Disable Turbo Boost * Enable HyperThreading * Isolate at least one physical CPU core (so two logical cores using HyperThreading) -- you can use "lscpu -a -e" to find a pair of logical CPUs of a physical core * Enable NOHZ_FULL on isolated CPUs * Use performance governor, at least for isolated CPUs, or better for all CPUs * Run "cpupower monitor" in one terminal (cpupower comes from the package kernel-tools) * Run a benchmark in different terminal, but pin it to one isolated CPU using "taskset -c <CPU number>" * Wait a few seconds * See C0 state of the isolated CPUs increasing up to 100%, whereas no process is running on these CPUs (the system is idle and the CPU usage is 0% on these CPUs) * Then run again the benchmark on an isolated CPU For example, I'm using CPUs 3 and 7. I interrupted the boot process (GRUB) to edit the Linux command ("linuxefi ... vmlinuz ...") to add these parameters: "... isolcpus=3,7 nohz_full=3,7" (then boot with CTRL-x). When Linux is booted, I'm running the isolcpus.py script attached to the bug report to set the governor to performance (but also mask interruptions on these CPUs). I run the benchmark on the CPU 7 to trigger the "C0 bug" and then I run the benchmark on the CPU 3. Sometimes, I have to run the benchmark on the CPU 3 to trigger the bug. Sometimes, the benchmark becomes slower on the CPU 3, sometimes on both CPUs, sometimes only on the CPU 7... The exact behaviour is not really deterministic. For a longer explanation how to reproduce the bug with "snapshots" of programs and an example of benchmark (perf timeit), see: https://bugzilla.redhat.com/show_bug.cgi?id=1378529#c0 I don't think that the benchmark matters, you only have to find a way to increase the CPU usage to 100% on one logical CPU and then stop the program to decrease the CPU usage to 0%. Victor _______________________________________________ Speed mailing list Speed@python.org https://mail.python.org/mailman/listinfo/speed