Messages in this thread | | | Date | Fri, 8 Feb 2013 14:07:49 +1100 | From | Stephen Rothwell <> | Subject | Re: [PATCH 4/8] cputime: Generic on-demand virtual cputime accounting |
| |
Hi Frederic,
On Mon, 28 Jan 2013 20:04:01 +0100 Frederic Weisbecker <fweisbec@gmail.com> wrote: > > If we want to stop the tick further idle, we need to be > able to account the cputime without using the tick. > > Virtual based cputime accounting solves that problem by > hooking into kernel/user boundaries. > > However implementing CONFIG_VIRT_CPU_ACCOUNTING require > low level hooks and involves more overhead. But we already > have a generic context tracking subsystem that is required > for RCU needs by archs which plan to shut down the tick > outside idle. > > This patch implements a generic virtual based cputime > accounting that relies on these generic kernel/user hooks. > > There are some upsides of doing this: > > - This requires no arch code to implement CONFIG_VIRT_CPU_ACCOUNTING > if context tracking is already built (already necessary for RCU in full > tickless mode). > > - We can rely on the generic context tracking subsystem to dynamically > (de)activate the hooks, so that we can switch anytime between virtual > and tick based accounting. This way we don't have the overhead > of the virtual accounting when the tick is running periodically. > > And one downside: > > - There is probably more overhead than a native virtual based cputime > accounting. But this relies on hooks that are already set anyway. > > Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Li Zhong <zhong@linux.vnet.ibm.com> > Cc: Namhyung Kim <namhyung.kim@lge.com> > Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > Cc: Paul Gortmaker <paul.gortmaker@windriver.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Steven Rostedt <rostedt@goodmis.org> > Cc: Thomas Gleixner <tglx@linutronix.de>
This patch has the side effect of changing the default configurations: (This is PowerPC pseries_defconfig before/after this patch)
@@ -119,8 +120,8 @@ # # CPU/Task time and stats accounting # -# CONFIG_TICK_CPU_ACCOUNTING is not set -CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y
I don't know if that was deliberate, but it was suprising. I noticed when this patch entered next-20130207.
-- Cheers, Stephen Rothwell sfr@canb.auug.org.au [unhandled content-type:application/pgp-signature] | |