Messages in this thread | | | Date | Fri, 21 Aug 2009 15:21:59 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | Re: [tip:sched/core] sched: cpuacct: Use bigger percpu counter batch values for stats counters |
| |
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. >
Ok, I reproduced it on ia64 box (ia64 supports VIRT_CPU_ACCOUNTING)
On 8cpu -- config=on-- procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 11 0 0 7185152 66048 284416 0 0 0 0 5918 12354 0 100 0 0 0 --config=off-- 11 0 0 7194496 66304 283392 0 0 0 20 8023 1424022 32 68 0 0 0
Wow, yes. 100x regression.
I'll dig this more.
IIUC, If CONFIG_VIRT_CPU_ACCOUNTING=on, process's stime/utime records "nanosecond". Then, batch=32 is too small. How about once per msec ?
Thanks, -Kame
| |