[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1254905013.30157.75.camel@eenurkka-desktop>
Date: Wed, 07 Oct 2009 11:43:33 +0300
From: Eero Nurkkala <ext-eero.nurkkala@...ia.com>
To: ext Steven Noonan <steven@...inklabs.net>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Rik van Riel <riel@...hat.com>,
Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>
Subject: Re: [BISECTED] "conservative" cpufreq governor broken
On Wed, 2009-10-07 at 10:24 +0200, ext Steven Noonan wrote:
> >
> > Steven, how do the cpu loads look like without the patch?
>
> They're sane:
>
> [ 40.019381] cpufreq load = 100 * (66666 - 66337) / 66666 = 0
> [ 40.019396] cpufreq load = 100 * (66666 - 66299) / 66666 = 0
> [ 73.352580] cpufreq load = 100 * (66717 - 66349) / 66717 = 0
> [ 73.352595] cpufreq load = 100 * (66634 - 63848) / 66634 = 4
Thank you. Could you please try the following:
Now, if ts->nohz_mode == NOHZ_MODE_INACTIVE, ts->inidle is not set
and all subsequent calls from irq_exit() think we weren't idling,
which is not true.
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -233,6 +233,8 @@ void tick_nohz_stop_sched_tick(int inidle)
now = tick_nohz_start_idle(ts);
+ ts->inidle = 1;
+
/*
* If this cpu is offline and it is the one which updates
* jiffies, then give up the assignment and let it be taken by
@@ -248,8 +250,6 @@ void tick_nohz_stop_sched_tick(int inidle)
if (unlikely(ts->nohz_mode == NOHZ_MODE_INACTIVE))
goto end;
- ts->inidle = 1;
-
if (need_resched())
goto end;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists