OpenCloudOS-Kernel/arch/powerpc/configs
Frederic Weisbecker abf917cd91 cputime: Generic on-demand virtual cputime accounting
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>
2013-01-27 19:23:27 +01:00
..
40x Merge remote-tracking branch 'jwb/next' into next 2011-12-16 11:24:25 +11:00
44x powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
52xx powerpc, tqm5200: update tqm5200_defconfig to fit for charon board. 2011-09-29 15:36:33 +02:00
83xx defconfigs: remove CONFIG_MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:49 +01:00
85xx powerpc/85xx: Enable USB support in p1023rds_defconfig 2012-09-19 08:38:16 -05:00
86xx ASoC: imx: merge sound/soc/imx into sound/soc/fsl 2012-04-01 11:28:26 +01:00
adder875_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
amigaone_defconfig powerpc: Trim defconfigs 2010-08-09 11:19:16 +10:00
c2k_defconfig powerpc: Fix build warning of the defconfigs 2011-04-27 14:18:41 +10:00
cell_defconfig powerpc: Trim defconfigs 2010-08-09 11:19:16 +10:00
celleb_defconfig powerpc: Trim defconfigs 2010-08-09 11:19:16 +10:00
chroma_defconfig cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
chrp32_defconfig powerpc: Trim defconfigs 2010-08-09 11:19:16 +10:00
corenet32_smp_defconfig powerpc/85xx: Add support for P5040DS board 2012-09-12 14:57:07 -05:00
corenet64_smp_defconfig cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
ep88xc_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
ep8248e_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
g5_defconfig Revert "powerpc: Update g5_defconfig" 2012-08-24 20:55:55 +10:00
gamecube_defconfig perf: Remove PERF_COUNTERS config option 2012-04-26 13:52:52 +02:00
holly_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
linkstation_defconfig powerpc: Restore some misc devices to our configs 2011-03-30 10:36:23 +11:00
maple_defconfig powerpc: Remove CONFIG_POWER4_ONLY 2012-04-30 15:37:26 +10:00
mgcoge_defconfig powerpc/82xx: add SPI support for mgcoge 2012-07-10 07:07:20 -05:00
mpc83xx_defconfig UAPI Disintegration 2012-10-09 2012-10-09 15:04:25 +01:00
mpc85xx_defconfig powerpc/85xx: introduce support for the Freescale / iVeia P1022RDK 2012-09-12 14:57:07 -05:00
mpc85xx_smp_defconfig powerpc/85xx: introduce support for the Freescale / iVeia P1022RDK 2012-09-12 14:57:07 -05:00
mpc86xx_defconfig powerpc/fsl: enable verbose bug output 2011-05-19 01:14:30 -05:00
mpc512x_defconfig powerpc: update 512x-defconfig 2011-09-23 00:20:07 +02:00
mpc866_ads_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
mpc885_ads_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
mpc5200_defconfig powerpc/mpc5200: add options to mpc5200_defconfig 2012-03-21 10:40:28 +11:00
mpc7448_hpc2_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
mpc8272_ads_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
pasemi_defconfig cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
pmac32_defconfig netfilter: remove xt_NOTRACK 2012-09-03 13:36:40 +02:00
ppc6xx_defconfig netfilter: remove xt_NOTRACK 2012-09-03 13:36:40 +02:00
ppc40x_defconfig Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-11-06 17:12:03 -08:00
ppc44x_defconfig powerpc/44x: Add mtd ndfc to the ppx44x defconfig 2011-11-25 10:06:00 +11:00
ppc64_defconfig Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
ppc64e_defconfig netfilter: remove xt_NOTRACK 2012-09-03 13:36:40 +02:00
pq2fads_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
prpmc2800_defconfig powerpc: Trim defconfigs 2010-08-09 11:19:16 +10:00
ps3_defconfig powerpc/ps3: Refresh ps3_defconfig 2012-04-24 18:18:01 -07:00
pseries_defconfig powerpc/pseries: Double NR_CPUS in defconfig 2012-11-15 12:59:17 +11:00
storcenter_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
tqm8xx_defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
wii_defconfig perf: Remove PERF_COUNTERS config option 2012-04-26 13:52:52 +02:00