aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-10-03 01:53:25 -0400
committerIngo Molnar <mingo@kernel.org>2013-10-03 01:53:25 -0400
commit19f29887a73e32c52171f2725ac2d7561adab62b (patch)
tree2c71002d25c8cca2e9ea92dee3b79682b7ddf8f7
parent6c09f6d830d03b78717403e7b42838a2ee2987ae (diff)
parent31c1fc8187158cb80ccd57c19e024c55af901797 (diff)
Merge branch 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/core
Merge updated full dynticks support from Frederic Weisbecker: - support 32-bit systems (full dynticks was 64-bit only before) - support ARM Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--arch/Kconfig12
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--init/Kconfig3
-rw-r--r--kernel/time/Kconfig2
4 files changed, 16 insertions, 2 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
353config HAVE_VIRT_CPU_ACCOUNTING 353config HAVE_VIRT_CPU_ACCOUNTING
354 bool 354 bool
355 355
356config 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
356config HAVE_IRQ_TIME_ACCOUNTING 368config HAVE_IRQ_TIME_ACCOUNTING
357 bool 369 bool
358 help 370 help
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1ad6fb6c094d..323baf07fdce 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -54,6 +54,7 @@ config ARM
54 select HAVE_REGS_AND_STACK_ACCESS_API 54 select HAVE_REGS_AND_STACK_ACCESS_API
55 select HAVE_SYSCALL_TRACEPOINTS 55 select HAVE_SYSCALL_TRACEPOINTS
56 select HAVE_UID16 56 select HAVE_UID16
57 select HAVE_VIRT_CPU_ACCOUNTING_GEN
57 select IRQ_FORCED_THREADING 58 select IRQ_FORCED_THREADING
58 select KTIME_SCALAR 59 select KTIME_SCALAR
59 select MODULES_USE_ELF_REL 60 select MODULES_USE_ELF_REL
diff --git a/init/Kconfig b/init/Kconfig
index 3ecd8a1178f1..841e79cb8bb3 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -354,7 +354,8 @@ config VIRT_CPU_ACCOUNTING_NATIVE
354 354
355config VIRT_CPU_ACCOUNTING_GEN 355config VIRT_CPU_ACCOUNTING_GEN
356 bool "Full dynticks CPU time accounting" 356 bool "Full dynticks CPU time accounting"
357 depends on HAVE_CONTEXT_TRACKING && 64BIT 357 depends on HAVE_CONTEXT_TRACKING
358 depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
358 select VIRT_CPU_ACCOUNTING 359 select VIRT_CPU_ACCOUNTING
359 select CONTEXT_TRACKING 360 select CONTEXT_TRACKING
360 help 361 help
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index 2b62fe86f9ec..3ce6e8c5f3fc 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -100,7 +100,7 @@ config NO_HZ_FULL
100 # RCU_USER_QS dependency 100 # RCU_USER_QS dependency
101 depends on HAVE_CONTEXT_TRACKING 101 depends on HAVE_CONTEXT_TRACKING
102 # VIRT_CPU_ACCOUNTING_GEN dependency 102 # VIRT_CPU_ACCOUNTING_GEN dependency
103 depends on 64BIT 103 depends on HAVE_VIRT_CPU_ACCOUNTING_GEN
104 select NO_HZ_COMMON 104 select NO_HZ_COMMON
105 select RCU_USER_QS 105 select RCU_USER_QS
106 select RCU_NOCB_CPU 106 select RCU_NOCB_CPU