Re: [PATCH] powerpc/64: Use tick accounting by default
From: Christophe LEROY <hidden>
Date: 2017-05-22 07:26:19
Le 19/05/2017 à 16:41, Anton Blanchard a écrit :
From: Anton Blanchard <redacted> ppc64 is the only architecture that turns on VIRT_CPU_ACCOUNTING_NATIVE by default. The overhead of this option is extremely high - a context switch microbenchmark using sched_yield() is almost 20% slower. To get finer grained user/hardirq/softirq statitics, the IRQ_TIME_ACCOUNTING option can be used instead, which has much lower overhead.
Does IRQ_TIME_ACCOUNTING allow the same granularity as VIRT_CPU_ACCOUNTING_NATIVE ? I've quickly looked into the source, it seems that this option still accounts based on time ticks. On a hardware doing mainly VoIP handling, the processes run a few ms every 20 ms. With TICK_CPU_ACCOUNTING and a 10ms tick, the processes either appear with 50% CPU or almost 0%. Would it be more precise with IRQ_TIME_ACCOUNTING ? Christophe
quoted hunk ↗ jump to hunk
As such, disable this option by default. If a user really wants it, they can still enable it manually. Signed-off-by: Anton Blanchard <redacted> --- init/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)diff --git a/init/Kconfig b/init/Kconfig index 1d3475fc9496..a5c30acc1ede 100644 --- a/init/Kconfig +++ b/init/Kconfig@@ -342,8 +342,7 @@ config VIRT_CPU_ACCOUNTING choice prompt "Cputime accounting" - default TICK_CPU_ACCOUNTING if !PPC64 - default VIRT_CPU_ACCOUNTING_NATIVE if PPC64 + default TICK_CPU_ACCOUNTING # Kind of a stub config for the pure tick based cputime accounting config TICK_CPU_ACCOUNTING