[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130208140749.5a094f271e529dacfb962b51@canb.auug.org.au>
Date: Fri, 8 Feb 2013 14:07:49 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Li Zhong <zhong@...ux.vnet.ibm.com>,
Namhyung Kim <namhyung.kim@....com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Paul Gortmaker <paul.gortmaker@...driver.com>,
Peter Zijlstra <peterz@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>,
ppc-dev <linuxppc-dev@...ts.ozlabs.org>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>
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@...il.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@...il.com>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: Ingo Molnar <mingo@...nel.org>
> Cc: Li Zhong <zhong@...ux.vnet.ibm.com>
> Cc: Namhyung Kim <namhyung.kim@....com>
> Cc: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
> Cc: Paul Gortmaker <paul.gortmaker@...driver.com>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Steven Rostedt <rostedt@...dmis.org>
> Cc: Thomas Gleixner <tglx@...utronix.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@...b.auug.org.au
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists