Messages in this thread | | | Date | Mon, 13 Jan 2014 19:24:06 +0000 | From | Mel Gorman <> | Subject | Re: Idle power fix regresses ebizzy performance (was 3.12-stable backport of NUMA balancing patches) |
| |
On Wed, Jan 08, 2014 at 01:48:58PM +0000, Mel Gorman wrote: > Adding LKML to the list as this -stable snifftest has identified an > upstream regression. >
This is a false alarm.
The test machine in question was originally installed based on a beta version of openSUSE 13.1. It included a package by default that set default malloc parameters that I was not aware. Normally the package is there to catch bugs during beta testing and removed before a GA release but it's left in place if a user does a distribution update.
With the debugging RPM installed, the free paths contended on a global mutex in glibc. Ebizzy had been classified as a CPU intensive and memory free intensive benchmark (not that common) but turbostat showed that the CPUs were over 95% of the time in C6 and mpstat verified that the CPUs were mostly idle. It did not take long to see that everything was blocked waiting on a futex and to identify where it was in glibc. It's only a factor when malloc debugging is enabled so normally people would not see it.
The "regression" is because CPUs are reaching C6 as they should and there is a delay when exiting it. This is behaving as designed and fixing this would involve doing something stupid. Once the problem RPM was removed ebizzy performed as expected. 3.13-rc7, the revert and forcing max_cstate=1 all have similar performance.
Sorry about the noise.
-- Mel Gorman SUSE Labs
| |