From: Ingo Molnar <mingo@elte.hu>
To: Balbir Singh <balbir@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH v7 0/8] Tunable sched_mc_power_savings=n
Date: Tue, 30 Dec 2008 08:20:17 +0100 [thread overview]
Message-ID: <20081230072017.GA20225@elte.hu> (raw)
In-Reply-To: <20081230064432.GA30101@balbir.in.ibm.com>
* Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> * Ingo Molnar <mingo@elte.hu> [2008-12-30 07:21:39]:
>
> >
> > * Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> >
> > > > > KERNBENCH Runs: make -j4 on a x86 8 core, dual socket quad core cpu
> > > > > package system
> > > > >
> > > > > SchedMC Run Time Package Idle Energy Power
> > > > > 0 81.68 52.83% 54.71% 1.00x J 1.00y W
> > > > > 1 80.70 36.62% 70.11% 0.95x J 0.96y W
> > > > > 2 74.95 19.53% 85.92% 0.90x J 0.98y W
> >
> > > > Your result is very interesting.
> > > > level 2 is more fast and efficient of power.
> > > >
> > > > What's major contributor to use less time in level 2?
> > > > I think it's cache bounce is less time than old.
> > > > Is right ?
> > >
> > > Yes, correct
> >
> > yes, i too noticed that runtime improved so dramatically: +7.5% on
> > kernbench is a _very_ big deal.
> >
>
> Yes, it is, I think one way to identify it on the x86 box would be to
> use the performance counter patches, I'll see it I can get it working.
yeah, good idea, and it's easy to get perf-counters working: just boot
tip/master on a Core2 (or later) Intel CPU [see below about how to use
perfcounters on other CPUs], and pick up timec.c:
http://redhat.com/~mingo/perfcounters/timec.c
then run a kernel build like this:
$ ./timec -e -5,-4,-3,0,1,2,3,4,5 make -j16 bzImage
that's all. You should get an array of metrics like this:
[...]
Kernel: arch/x86/boot/bzImage is ready (#28)
Performance counter stats for 'make':
628315.871980 task clock ticks (msecs)
42330 CPU migrations (events)
124980 context switches (events)
18698292 pagefaults (events)
1351875946010 CPU cycles (events)
1121901478363 instructions (events)
10654788968 cache references (events)
633581867 cache misses (events)
247508675357 branches (events)
21567244144 branch misses (events)
Wall-clock time elapsed: 118348.109066 msecs
I'd guess the CPU migrations, context-switches, cycles+instructions
counters are the most interesting ones. I.e. on a Core2 a good metric is
probably:
$ ./timec -e -5,-4,0,1 make -j16 bzImage
[ If you see any weirdnesses in the numbers, then you should first suspect
some perf-counters bug. Please report any problems to us! ]
If your systems are not Core2 based then patches to extend perfcounters
support to those CPUs are welcome as well ;-)
NOTE: the sw counters (migrations, per task cost) are available on all
CPUs. I.e. you can always do:
$ ./timec -e -5,-4,-3 make -j16 bzImage
regardless of CPU type.
And note that the wall-clock and task-clock results in this case will be
far more accurate than normal 'time make -j16 bzImage' output.
Ingo
next prev parent reply other threads:[~2008-12-30 7:20 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-18 17:55 [PATCH v7 0/8] Tunable sched_mc_power_savings=n Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 1/8] sched: convert BALANCE_FOR_xx_POWER to inline functions Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 2/8] sched: Framework for sched_mc/smt_power_savings=N Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 3/8] sched: favour lower logical cpu number for sched_mc balance Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 4/8] sched: nominate preferred wakeup cpu Vaidyanathan Srinivasan
2008-12-18 18:12 ` Balbir Singh
2008-12-19 21:55 ` Andrew Morton
2008-12-19 22:19 ` Andrew Morton
2008-12-19 22:27 ` Ingo Molnar
2008-12-19 22:31 ` Ingo Molnar
2008-12-19 22:38 ` Andrew Morton
2008-12-19 22:54 ` Ingo Molnar
2008-12-20 4:36 ` Vaidyanathan Srinivasan
2008-12-20 4:44 ` Andrew Morton
2008-12-20 7:54 ` Ingo Molnar
2008-12-20 10:02 ` Vaidyanathan Srinivasan
2008-12-20 10:36 ` Vaidyanathan Srinivasan
2008-12-20 10:56 ` Vaidyanathan Srinivasan
2008-12-21 8:46 ` Ingo Molnar
2008-12-18 17:56 ` [PATCH v7 5/8] sched: bias task wakeups to preferred semi-idle packages Vaidyanathan Srinivasan
2008-12-18 18:11 ` Balbir Singh
2008-12-18 17:56 ` [PATCH v7 6/8] sched: activate active load balancing in new idle cpus Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 7/8] sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0 Vaidyanathan Srinivasan
2008-12-18 17:56 ` [PATCH v7 8/8] sched: idle_balance() does not call load_balance_newidle() Vaidyanathan Srinivasan
2008-12-18 18:12 ` Balbir Singh
2008-12-18 20:17 ` Ingo Molnar
2008-12-18 20:19 ` [PATCH v7 0/8] Tunable sched_mc_power_savings=n Ingo Molnar
2008-12-18 20:31 ` Ingo Molnar
2008-12-19 8:29 ` Vaidyanathan Srinivasan
2008-12-19 8:24 ` Vaidyanathan Srinivasan
2008-12-19 13:34 ` Vaidyanathan Srinivasan
2008-12-29 23:43 ` MinChan Kim
2008-12-30 2:48 ` Balbir Singh
2008-12-30 6:21 ` Ingo Molnar
2008-12-30 6:44 ` Balbir Singh
2008-12-30 7:20 ` Ingo Molnar [this message]
2008-12-30 18:07 ` Vaidyanathan Srinivasan
2009-01-02 7:26 ` Vaidyanathan Srinivasan
2009-01-02 22:16 ` Ingo Molnar
2009-01-03 7:29 ` Mike Galbraith
2009-01-03 10:16 ` Vaidyanathan Srinivasan
2009-01-03 11:22 ` Mike Galbraith
2009-01-04 15:00 ` Mike Galbraith
2009-01-04 18:19 ` Vaidyanathan Srinivasan
2009-01-04 19:52 ` Mike Galbraith
2009-01-05 3:20 ` Vaidyanathan Srinivasan
2009-01-05 4:40 ` Mike Galbraith
2009-01-05 6:36 ` Mike Galbraith
2009-01-05 15:19 ` Mike Galbraith
2009-01-06 9:31 ` Mike Galbraith
2009-01-06 15:07 ` Vaidyanathan Srinivasan
2009-01-06 17:48 ` Mike Galbraith
2009-01-06 18:45 ` Balbir Singh
2009-01-07 8:59 ` Mike Galbraith
2009-01-07 11:26 ` Vaidyanathan Srinivasan
2009-01-07 14:36 ` Mike Galbraith
2009-01-07 15:35 ` Vaidyanathan Srinivasan
2009-01-08 8:06 ` Mike Galbraith
2009-01-08 17:46 ` Vaidyanathan Srinivasan
2009-01-09 6:00 ` Mike Galbraith
2009-01-06 14:54 ` Vaidyanathan Srinivasan
2008-12-30 17:31 ` Vaidyanathan Srinivasan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081230072017.GA20225@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox