diff options
author | Ingo Molnar <mingo@kernel.org> | 2013-10-03 01:53:25 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-10-03 01:53:25 -0400 |
commit | 19f29887a73e32c52171f2725ac2d7561adab62b (patch) | |
tree | 2c71002d25c8cca2e9ea92dee3b79682b7ddf8f7 | |
parent | 6c09f6d830d03b78717403e7b42838a2ee2987ae (diff) | |
parent | 31c1fc8187158cb80ccd57c19e024c55af901797 (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/Kconfig | 12 | ||||
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | init/Kconfig | 3 | ||||
-rw-r--r-- | kernel/time/Kconfig | 2 |
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 | |||
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 |
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 | ||
355 | config VIRT_CPU_ACCOUNTING_GEN | 355 | config 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 |