aboutsummaryrefslogtreecommitdiffstats
path: root/init/Kconfig
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2012-09-09 08:56:31 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2012-09-25 10:01:36 -0400
commitfdf9c356502ae02238efcdf90cefd7b473a63fd4 (patch)
tree8db73d0f973ffb99acce5f76c22562b90f6236db /init/Kconfig
parent391dc69c6875bcb775cc16458112da93f1d1af00 (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/Kconfig30
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
327menu "CPU/Task time and stats accounting" 327menu "CPU/Task time and stats accounting"
328 328
329choice
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
335config 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
329config VIRT_CPU_ACCOUNTING 345config 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
357config 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
368endchoice
369
342config BSD_PROCESS_ACCT 370config BSD_PROCESS_ACCT
343 bool "BSD Process Accounting" 371 bool "BSD Process Accounting"
344 help 372 help