Hi Frederic, On Mon, 28 Jan 2013 20:04:01 +0100 Frederic Weisbecker <fweis...@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 <fweis...@gmail.com> > Cc: Andrew Morton <a...@linux-foundation.org> > Cc: Ingo Molnar <mi...@kernel.org> > Cc: Li Zhong <zh...@linux.vnet.ibm.com> > Cc: Namhyung Kim <namhyung....@lge.com> > Cc: Paul E. McKenney <paul...@linux.vnet.ibm.com> > Cc: Paul Gortmaker <paul.gortma...@windriver.com> > Cc: Peter Zijlstra <pet...@infradead.org> > Cc: Steven Rostedt <rost...@goodmis.org> > Cc: Thomas Gleixner <t...@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 s...@canb.auug.org.au
pgpboaKlb6XJm.pgp
Description: PGP signature