diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2012-09-09 08:56:31 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2012-09-25 10:01:36 -0400 |
commit | fdf9c356502ae02238efcdf90cefd7b473a63fd4 (patch) | |
tree | 8db73d0f973ffb99acce5f76c22562b90f6236db /init/Kconfig | |
parent | 391dc69c6875bcb775cc16458112da93f1d1af00 (diff) |
cputime: Make finegrained irqtime accounting generally available
There is no known reason for this option to be unavailable on other
archs than x86. They just need to call enable_sched_clock_irqtime()
if they have a sufficiently finegrained clock to make it working.
Move it to the general option and let the user choose between
it and pure tick based or virtual cputime accounting.
Note that virtual cputime accounting already performs a finegrained
irqtime accounting. CONFIG_IRQ_TIME_ACCOUNTING is a kind of middle ground
between tick and virtual based accounting. So CONFIG_IRQ_TIME_ACCOUNTING
and CONFIG_VIRT_CPU_ACCOUNTING are mutually exclusive choices.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'init/Kconfig')
-rw-r--r-- | init/Kconfig | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/init/Kconfig b/init/Kconfig index 2c5aa3407d6b..1862c6893078 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -326,10 +326,25 @@ source "kernel/time/Kconfig" | |||
326 | 326 | ||
327 | menu "CPU/Task time and stats accounting" | 327 | menu "CPU/Task time and stats accounting" |
328 | 328 | ||
329 | choice | ||
330 | prompt "Cputime accounting" | ||
331 | default TICK_CPU_ACCOUNTING if !PPC64 | ||
332 | default VIRT_CPU_ACCOUNTING if PPC64 | ||
333 | |||
334 | # Kind of a stub config for the pure tick based cputime accounting | ||
335 | config TICK_CPU_ACCOUNTING | ||
336 | bool "Simple tick based cputime accounting" | ||
337 | depends on !S390 | ||
338 | help | ||
339 | This is the basic tick based cputime accounting that maintains | ||
340 | statistics about user, system and idle time spent on per jiffies | ||
341 | granularity. | ||
342 | |||
343 | If unsure, say Y. | ||
344 | |||
329 | config VIRT_CPU_ACCOUNTING | 345 | config VIRT_CPU_ACCOUNTING |
330 | bool "Deterministic task and CPU time accounting" | 346 | bool "Deterministic task and CPU time accounting" |
331 | depends on HAVE_VIRT_CPU_ACCOUNTING | 347 | depends on HAVE_VIRT_CPU_ACCOUNTING |
332 | default y if PPC64 | ||
333 | help | 348 | help |
334 | Select this option to enable more accurate task and CPU time | 349 | Select this option to enable more accurate task and CPU time |
335 | accounting. This is done by reading a CPU counter on each | 350 | accounting. This is done by reading a CPU counter on each |
@@ -339,6 +354,19 @@ config VIRT_CPU_ACCOUNTING | |||
339 | this also enables accounting of stolen time on logically-partitioned | 354 | this also enables accounting of stolen time on logically-partitioned |
340 | systems. | 355 | systems. |
341 | 356 | ||
357 | config IRQ_TIME_ACCOUNTING | ||
358 | bool "Fine granularity task level IRQ time accounting" | ||
359 | depends on HAVE_IRQ_TIME_ACCOUNTING | ||
360 | help | ||
361 | Select this option to enable fine granularity task irq time | ||
362 | accounting. This is done by reading a timestamp on each | ||
363 | transitions between softirq and hardirq state, so there can be a | ||
364 | small performance impact. | ||
365 | |||
366 | If in doubt, say N here. | ||
367 | |||
368 | endchoice | ||
369 | |||
342 | config BSD_PROCESS_ACCT | 370 | config BSD_PROCESS_ACCT |
343 | bool "BSD Process Accounting" | 371 | bool "BSD Process Accounting" |
344 | help | 372 | help |