diff options
author | Kevin Hilman <khilman@linaro.org> | 2013-09-16 18:28:21 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2013-09-30 09:35:53 -0400 |
commit | 554b0004d0ec4fbd11e08668dfc400f211e8d5c5 (patch) | |
tree | 962305270252e407cd887ba9ed949bde346b8f81 /arch/Kconfig | |
parent | 15c03dd4859ab16f9212238f29dd315654aa94f6 (diff) |
vtime: Add HAVE_VIRT_CPU_ACCOUNTING_GEN Kconfig
With VIRT_CPU_ACCOUNTING_GEN, cputime_t becomes 64-bit. In order
to use that feature, arch code should be audited to ensure there are no
races in concurrent read/write of cputime_t. For example,
reading/writing 64-bit cputime_t on some 32-bit arches may require
multiple accesses for low and high value parts, so proper locking
is needed to protect against concurrent accesses.
Therefore, add CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN which arches can
enable after they've been audited for potential races.
This option is automatically enabled on 64-bit platforms.
Feature requested by Frederic Weisbecker.
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Arm Linux <linux-arm-kernel@lists.infradead.org>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'arch/Kconfig')
-rw-r--r-- | arch/Kconfig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index af2cc6eabcc7..185f8b007643 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
@@ -353,6 +353,18 @@ config HAVE_CONTEXT_TRACKING | |||
353 | config HAVE_VIRT_CPU_ACCOUNTING | 353 | config HAVE_VIRT_CPU_ACCOUNTING |
354 | bool | 354 | bool |
355 | 355 | ||
356 | config HAVE_VIRT_CPU_ACCOUNTING_GEN | ||
357 | bool | ||
358 | default y if 64BIT | ||
359 | help | ||
360 | With VIRT_CPU_ACCOUNTING_GEN, cputime_t becomes 64-bit. | ||
361 | Before enabling this option, arch code must be audited | ||
362 | to ensure there are no races in concurrent read/write of | ||
363 | cputime_t. For example, reading/writing 64-bit cputime_t on | ||
364 | some 32-bit arches may require multiple accesses, so proper | ||
365 | locking is needed to protect against concurrent accesses. | ||
366 | |||
367 | |||
356 | config HAVE_IRQ_TIME_ACCOUNTING | 368 | config HAVE_IRQ_TIME_ACCOUNTING |
357 | bool | 369 | bool |
358 | help | 370 | help |