From mboxrd@z Thu Jan 1 00:00:00 1970 From: Borislav Petkov Subject: Re: 50 Watt idle power regression bisected to Linux-3.10 Date: Wed, 11 Dec 2013 12:38:39 +0100 Message-ID: <20131211113839.GF21683@pd.tnic> References: <1386478624.4748.19.camel@marge.simpson.net> <1386559014.4875.16.camel@marge.simpson.net> <1386652637.5374.72.camel@marge.simpson.net> <1386732093.5964.6.camel@marge.simpson.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Received: from mail.skyhub.de ([78.46.96.112]:46115 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750911Ab3LKLir (ORCPT ); Wed, 11 Dec 2013 06:38:47 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Thomas Gleixner Cc: Mike Galbraith , Len Brown , Peter Zijlstra , Linux PM list , "linux-kernel@vger.kernel.org" , Jeremy Eder , x86@kernel.org On Wed, Dec 11, 2013 at 12:28:36PM +0100, Thomas Gleixner wrote: > On Wed, 11 Dec 2013, Mike Galbraith wrote: > > Alakazam.. > > Yup, magical gremlin repellent works on 8 socket DL980 too. > > Now here is a less magical version of the gremlin repellent. > > And just for the amusement value: The erratum for the series 7400 > says: > > AAI65. MONITOR/MWAIT May Have Excessive False Wakeups > > Problem: Normally, if MWAIT is used to enter a C-state that is > C1 or higher, a store to the address range armed by > the MONITOR instruction will cause the processor to > exit MWAIT. Due to this erratum, false wakeups may > occur when the monitored address range was recently > written prior to executing the MONITOR instruction. > > Implication: Due to this erratum, performance and power savings may > be impacted due to excessive false wakeups. > > Workaround: Execute a CLFLUSH Instruction immediately before every > MONITOR instruction when the monitored location may > have been recently written. > > Now that looks like the very same issue on these westmere EX > machines. > > These false wakeups can be observed already before the idle changes > and now they are just more prominent. > > Adding that clflush() unconditionally fixes the issue at least on > Boris machine. > > Mike, can you retest on that 8 socket monstrum, please? > > So it looks like the idle power regression is actually a software > change which exhibits a hardware "regression". Right, if it turns out that this is really the case and that this erratum hasn't been fixed for models later than 29 - we'd need the additional model numbers to set X86_FEATURE_CLFLUSH_MONITOR correctly. -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. --