diff mbox

sched: move CONFIG_IRQ_TIME_ACCOUNTING to common code

Message ID 1328080789-18277-1-git-send-email-dmitry.antipov@linaro.org
State New
Headers show

Commit Message

Dmitry Antipov Feb. 1, 2012, 7:19 a.m. UTC
Since CONFIG_IRQ_TIME_ACCOUNTING is architecture-agnostic,
move it from x86 area to common code.

Signed-off-by: Dmitry Antipov <dmitry.antipov@linaro.org>
---
 arch/x86/Kconfig  |   11 -----------
 lib/Kconfig.debug |   11 +++++++++++
 2 files changed, 11 insertions(+), 11 deletions(-)

Comments

Yong Zhang Feb. 7, 2012, 7:38 a.m. UTC | #1
On Wed, Feb 01, 2012 at 11:19:49AM +0400, Dmitry Antipov wrote:
> Since CONFIG_IRQ_TIME_ACCOUNTING is architecture-agnostic,
> move it from x86 area to common code.

IIRC, it's x86 dependent now.

Thanks,
Yong

> 
> Signed-off-by: Dmitry Antipov <dmitry.antipov@linaro.org>
> ---
>  arch/x86/Kconfig  |   11 -----------
>  lib/Kconfig.debug |   11 +++++++++++
>  2 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 5bed94e..4759676 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -805,17 +805,6 @@ config SCHED_MC
>  	  making when dealing with multi-core CPU chips at a cost of slightly
>  	  increased overhead in some places. If unsure say N here.
>  
> -config IRQ_TIME_ACCOUNTING
> -	bool "Fine granularity task level IRQ time accounting"
> -	default n
> -	---help---
> -	  Select this option to enable fine granularity task irq time
> -	  accounting. This is done by reading a timestamp on each
> -	  transitions between softirq and hardirq state, so there can be a
> -	  small performance impact.
> -
> -	  If in doubt, say N here.
> -
>  source "kernel/Kconfig.preempt"
>  
>  config X86_UP_APIC
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 8745ac7..d6d7afc 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -299,6 +299,17 @@ config SCHEDSTATS
>  	  application, you can say N to avoid the very slight overhead
>  	  this adds.
>  
> +config IRQ_TIME_ACCOUNTING
> +	bool "Fine granularity task level IRQ time accounting"
> +	default n
> +	---help---
> +	  Select this option to enable fine granularity task irq time
> +	  accounting. This is done by reading a timestamp on each
> +	  transitions between softirq and hardirq state, so there can be a
> +	  small performance impact.
> +
> +	  If in doubt, say N here.
> +
>  config TIMER_STATS
>  	bool "Collect kernel timers statistics"
>  	depends on DEBUG_KERNEL && PROC_FS
> -- 
> 1.7.7.6
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
Ingo Molnar Feb. 7, 2012, 8:29 a.m. UTC | #2
* Dmitry Antipov <dmitry.antipov@linaro.org> wrote:

> Since CONFIG_IRQ_TIME_ACCOUNTING is architecture-agnostic, 
> move it from x86 area to common code.
> 
> Signed-off-by: Dmitry Antipov <dmitry.antipov@linaro.org>
> ---
>  arch/x86/Kconfig  |   11 -----------
>  lib/Kconfig.debug |   11 +++++++++++
>  2 files changed, 11 insertions(+), 11 deletions(-)

That's not enough, right now on x86 this code needs special 
architecture glue, see how the noirqtime flag is used to call 
into enable_sched_clock_irqtime() after TSC init.

So if you apply your patch and boot CONFIG_IRQ_TIME_ACCOUNTING=y 
on say an ARM system, nothing will be done, because 
sched_clock_irqtime is always zero.

Thanks,

	Ingo
diff mbox

Patch

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5bed94e..4759676 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -805,17 +805,6 @@  config SCHED_MC
 	  making when dealing with multi-core CPU chips at a cost of slightly
 	  increased overhead in some places. If unsure say N here.
 
-config IRQ_TIME_ACCOUNTING
-	bool "Fine granularity task level IRQ time accounting"
-	default n
-	---help---
-	  Select this option to enable fine granularity task irq time
-	  accounting. This is done by reading a timestamp on each
-	  transitions between softirq and hardirq state, so there can be a
-	  small performance impact.
-
-	  If in doubt, say N here.
-
 source "kernel/Kconfig.preempt"
 
 config X86_UP_APIC
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8745ac7..d6d7afc 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -299,6 +299,17 @@  config SCHEDSTATS
 	  application, you can say N to avoid the very slight overhead
 	  this adds.
 
+config IRQ_TIME_ACCOUNTING
+	bool "Fine granularity task level IRQ time accounting"
+	default n
+	---help---
+	  Select this option to enable fine granularity task irq time
+	  accounting. This is done by reading a timestamp on each
+	  transitions between softirq and hardirq state, so there can be a
+	  small performance impact.
+
+	  If in doubt, say N here.
+
 config TIMER_STATS
 	bool "Collect kernel timers statistics"
 	depends on DEBUG_KERNEL && PROC_FS