Re: [PATCH] better align percpu counter (Was Re: [tip:sched/core] sched: cpuacct: Use bigger percpu counter batch values for stats counters

Ingo Molnar
2009-08-20T10:04:28Z

* KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:

> On Thu, 20 Aug 2009 16:24:51 +1000
> Anton Blanchard <anton@samba.org> wrote:
>
> >
> > Hi,
> >
> > > Could you share contex-switch-test program ?
> > > I'd like to play with it to find out what I can do against percpu counter.
> >
> > Sure:
> >
> > http://ozlabs.org/~anton/junkcode/context_switch.c
> >
> > Very simple, just run it once per core:
> >
> > for i in `seq 0 31`
> > do
> > taskset -c $i ./context_switch &
> > done
> >
> > Then look at the context switch rates in vmstat.
> >
> Thank you for test program.
>
> Before adjusting batch counter (I think you should modify it),
> Could you try this ?
>
> I only have 8cpu(2socket) host but works well.
> (But...my host is x86-64 and has not virt-cpu-accouting.)
>
> with your program
> before patch.
> cpuacct off : 414000-416000 ctsw per sec.
> cpuacct on : 401000-404000 ctsw per sec.
>
> after patch
> cpuacct on : 412000-413000 ctsw per sec.
>
> Maybe I should check cache-miss late ;)

Btw., in latest upstream you can do that via:

cd tools/perf/
make -j install

perf stat --repeat 5 -- taskset -c 1 ./context_switch

there will be cache-miss and other stats, error bars so
you can compare the before/after better, etc.

Ingo