[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100708120421.GF20841@gamma.logic.tuwien.ac.at>
Date: Thu, 8 Jul 2010 21:04:21 +0900
From: Norbert Preining <preining@...ic.at>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Arjan van de Ven <arjan@...radead.org>,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
akpm <akpm@...ux-foundation.org>
Subject: Re: high power consumption in recent kernels
On Do, 08 Jul 2010, Peter Zijlstra wrote:
> then wth is "[kernel scheduler] load balancing tick"?
> and for that matter, what is "[extra timer interrupt]", surely the timer
> hardware doesn't generate spurious interrupts?
Just one more point, searching a bit more in the net I found the following
patch (forgot who wrote it) which I merged into my current git:
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index a878b53..f26efba 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -3248,6 +3248,9 @@ int select_nohz_load_balancer(int stop_tick)
if (stop_tick) {
cpu_rq(cpu)->in_nohz_recently = 1;
+ if (!mc_capable())
+ return 0;
+
if (!cpu_active(cpu)) {
if (atomic_read(&nohz.load_balancer) != cpu)
return 0;
@@ -3297,6 +3300,9 @@ int select_nohz_load_balancer(int stop_tick)
if (!cpumask_test_cpu(cpu, nohz.cpu_mask))
return 0;
+ if (!mc_capable())
+ return 0;
+
cpumask_clear_cpu(cpu, nohz.cpu_mask);
if (atomic_read(&nohz.load_balancer) == cpu)
Now the output looks like:
Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 2.7%) Turbo Mode 0.2%
C0 0.0ms ( 0.0%) 2.54 Ghz 0.0%
C1 mwait 0.8ms ( 0.0%) 1.60 Ghz 0.0%
C2 mwait 0.4ms ( 1.4%) 800 Mhz 99.8%
C6 mwait 4.9ms (95.9%)
Wakeups-from-idle per second : 228.4 interval: 10.0s
Power usage (ACPI estimate): 11.7W (7.3 hours)
Top causes for wakeups:
22.4% ( 55.4) [kernel scheduler] Load balancing tick
16.6% ( 41.2) [iwlagn] <interrupt>
16.0% ( 39.7) [extra timer interrupt]
15.2% ( 37.7) [kernel core] hrtimer_start (tick_sched_timer)
13.7% ( 33.9) firefox-bin
2.4% ( 5.9) [ahci] <interrupt>
2.0% ( 5.0) syndaemon
which looks better
Best wishes
Norbert
------------------------------------------------------------------------
Norbert Preining preining@...ist.ac.jp, logic.at, debian.org}
JAIST, Japan TeX Live & Debian Developer
DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------
OSWALDTWISTLE (n. Old Norse)
Small brass wind instrument used for summoning Vikings to lunch when
they're off on their longships, playing.
--- Douglas Adams, The Meaning of Liff
--
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