Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758900AbZJGKn3 (ORCPT ); Wed, 7 Oct 2009 06:43:29 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758820AbZJGKn2 (ORCPT ); Wed, 7 Oct 2009 06:43:28 -0400 Received: from www.tglx.de ([62.245.132.106]:49116 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758819AbZJGKn1 (ORCPT ); Wed, 7 Oct 2009 06:43:27 -0400 Date: Wed, 7 Oct 2009 12:42:15 +0200 (CEST) From: Thomas Gleixner To: Eero Nurkkala cc: ext Steven Noonan , "linux-kernel@vger.kernel.org" , Rik van Riel , Venkatesh Pallipadi , Greg KH , Ingo Molnar Subject: Re: [BISECTED] "conservative" cpufreq governor broken In-Reply-To: <1254907901.30157.93.camel@eenurkka-desktop> Message-ID: References: <1254893230.30157.28.camel@eenurkka-desktop> <1254901778.30157.62.camel@eenurkka-desktop> <1254903263.30157.69.camel@eenurkka-desktop> <1254905013.30157.75.camel@eenurkka-desktop> <1254907901.30157.93.camel@eenurkka-desktop> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1479 Lines: 43 On Wed, 7 Oct 2009, Eero Nurkkala wrote: > For some reason, this path is taken: > if (ts->nohz_mode == NOHZ_MODE_INACTIVE) > goto end; Well, probably because the machine never switched to NOHZ :) > > Also, this fix should probably be passed on to Greg K. H. (so it goes > > in 2.6.31-stable) as well as Ingo Molnar (so it goes into -tip, and > > hopefully to Linus for 2.6.32). Both CC'd. Don't worry, it'll go the right way. No need to cc the world and some more :) > > - Steven > > From: Eero Nurkkala > Date: Wed, 7 Oct 2009 11:54:26 +0300 > Subject: [PATCH] NOHZ: update idle state properly > > Commit f2e21c9610991e95621a81407cdbab881226419b > had unfortunate side effects with cpufreq governors on > some systems. > > If NOHZ_MODE_INACTIVE was set, ts->inidle was not being > set. Then, all subsequent calls from irq_exit() bypassed > calls to tick_nohz_start_idle() which resulted in wrong > information passed to cpufreq governors. Fix this by > updating the state of ts->inidle where it fits the best. Hmm, nasty that code silently relies on NOHZ functionality even when NOHZ is not active. That needs a big fat comment at least. Nice detective work though ! Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/