diff options
| -rw-r--r-- | arch/Kconfig | 6 | ||||
| -rw-r--r-- | arch/x86/Kconfig | 12 | ||||
| -rw-r--r-- | init/Kconfig | 30 |
3 files changed, 36 insertions, 12 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index f78de57487ae..101c31a4744b 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
| @@ -284,4 +284,10 @@ config SECCOMP_FILTER | |||
| 284 | config HAVE_VIRT_CPU_ACCOUNTING | 284 | config HAVE_VIRT_CPU_ACCOUNTING |
| 285 | bool | 285 | bool |
| 286 | 286 | ||
| 287 | config HAVE_IRQ_TIME_ACCOUNTING | ||
| 288 | bool | ||
| 289 | help | ||
| 290 | Archs need to ensure they use a high enough resolution clock to | ||
| 291 | support irq time accounting and then call enable_sched_clock_irqtime(). | ||
| 292 | |||
| 287 | source "kernel/gcov/Kconfig" | 293 | source "kernel/gcov/Kconfig" |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 8ec3a1aa4abd..b86833aed83c 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
| @@ -97,6 +97,7 @@ config X86 | |||
| 97 | select KTIME_SCALAR if X86_32 | 97 | select KTIME_SCALAR if X86_32 |
| 98 | select GENERIC_STRNCPY_FROM_USER | 98 | select GENERIC_STRNCPY_FROM_USER |
| 99 | select GENERIC_STRNLEN_USER | 99 | select GENERIC_STRNLEN_USER |
| 100 | select HAVE_IRQ_TIME_ACCOUNTING | ||
| 100 | 101 | ||
| 101 | config INSTRUCTION_DECODER | 102 | config INSTRUCTION_DECODER |
| 102 | def_bool (KPROBES || PERF_EVENTS || UPROBES) | 103 | def_bool (KPROBES || PERF_EVENTS || UPROBES) |
| @@ -796,17 +797,6 @@ config SCHED_MC | |||
| 796 | making when dealing with multi-core CPU chips at a cost of slightly | 797 | making when dealing with multi-core CPU chips at a cost of slightly |
| 797 | increased overhead in some places. If unsure say N here. | 798 | increased overhead in some places. If unsure say N here. |
| 798 | 799 | ||
| 799 | config IRQ_TIME_ACCOUNTING | ||
| 800 | bool "Fine granularity task level IRQ time accounting" | ||
| 801 | default n | ||
| 802 | ---help--- | ||
| 803 | Select this option to enable fine granularity task irq time | ||
| 804 | accounting. This is done by reading a timestamp on each | ||
| 805 | transitions between softirq and hardirq state, so there can be a | ||
| 806 | small performance impact. | ||
| 807 | |||
| 808 | If in doubt, say N here. | ||
| 809 | |||
| 810 | source "kernel/Kconfig.preempt" | 800 | source "kernel/Kconfig.preempt" |
| 811 | 801 | ||
| 812 | config X86_UP_APIC | 802 | config X86_UP_APIC |
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 |
