diff options
-rw-r--r-- | arch/Kconfig | 12 | ||||
-rw-r--r-- | init/Kconfig | 1 | ||||
-rw-r--r-- | kernel/time/Kconfig | 1 |
3 files changed, 14 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 |
diff --git a/init/Kconfig b/init/Kconfig index 3ecd8a1178f1..68c1a0ed704d 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -355,6 +355,7 @@ config VIRT_CPU_ACCOUNTING_NATIVE | |||
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 && 64BIT |
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..f148475e5194 100644 --- a/kernel/time/Kconfig +++ b/kernel/time/Kconfig | |||
@@ -101,6 +101,7 @@ config NO_HZ_FULL | |||
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 64BIT |
104 | depends on HAVE_VIRT_CPU_ACCOUNTING_GEN | ||
104 | select NO_HZ_COMMON | 105 | select NO_HZ_COMMON |
105 | select RCU_USER_QS | 106 | select RCU_USER_QS |
106 | select RCU_NOCB_CPU | 107 | select RCU_NOCB_CPU |