On Wed, 2011-06-01 at 11:34 +0200, Stefan Seyfried wrote:
Am Wed, 1 Jun 2011 05:25:13 +0800 schrieb Greg KH <gregkh@suse.de>:
On Tue, May 31, 2011 at 09:57:12AM +0200, Stefan Seyfried wrote:
I never expected to see such pathological workload in the wild, but it exists ;)
Have you reported this bug to the kernel developers?
This is no bug. There are pathological workloads.
Pseudo code:
for(;;) { receive(&data); /* blocks until data is received */ compute_with_high_cpuload_but finish_quickly(&data); send(&data); }
If the computation is finished in << 100ms, the cpufreq will not be switched up. Sleep time between data blocks is large (> 100ms)
Now imagine three such processes on three servers, handing data around in turns.
Switching to "performance" governor did increase the end-user performance by 30%.
I've seen this with ping-pong loads to localhost. On-demand doesn't (or at least didn't) always kick the cpu up a gear when we're using two cores with shared cache. The thing seems to get confused by the idle time.. doesn't realize that high frequency idle/busy transitions mean high speed communication. -Mike -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org