public inbox for linux-sh@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fix build failure when compiling without TRACE_IRQFLAGS_SUPPORT
@ 2008-09-05  6:33 Giuseppe CAVALLARO
  2008-09-05  8:44 ` Paul Mundt
  2008-09-05 11:35 ` Giuseppe CAVALLARO
  0 siblings, 2 replies; 3+ messages in thread
From: Giuseppe CAVALLARO @ 2008-09-05  6:33 UTC (permalink / raw)
  To: linux-sh

[-- Attachment #1: Type: text/plain, Size: 528 bytes --]

Hi All,
playing with the kernel configuration we noticed that the
kernel doesn't build if TRACE_IRQFLAGS_SUPPORT is
forced off. So this patch just fixes it.

Anyway, we are wondering why it's not possible to disable
this option from Kconfig.
Reading the Documentation/irqflags-tracing.txt, this option is
"needed for CONFIG_PROVE_SPIN_LOCKING and
CONFIG_PROVE_RW_LOCKING to be offered by the generic
lock debugging code."
But we cannot find any references to PROVE_RW_LOCKING etc.
May be removed?

Best Regards,
Peppe & Carmelo

[-- Attachment #2: linux-sh4-2.6.23.17_stm23_0116-fix_trace_irqflags.patch --]
[-- Type: text/x-patch, Size: 1501 bytes --]

This fixes the Kernel build failure when compiling without
TRACE_IRQFLAGS_SUPPORT.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>

diff --git a/include/linux/irqflags.h b/include/linux/irqflags.h
index 412e025..7ccd276 100644
--- a/include/linux/irqflags.h
+++ b/include/linux/irqflags.h
@@ -41,10 +41,10 @@
 # define INIT_TRACE_IRQFLAGS
 #endif
 
-#ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
-
 #include <asm/irqflags.h>
 
+#ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
+
 #define local_irq_enable() \
 	do { trace_hardirqs_on(); raw_local_irq_enable(); } while (0)
 #define local_irq_disable() \
@@ -67,13 +67,12 @@
  * The local_irq_*() APIs are equal to the raw_local_irq*()
  * if !TRACE_IRQFLAGS.
  */
-# define raw_local_irq_disable()	local_irq_disable()
-# define raw_local_irq_enable()		local_irq_enable()
-# define raw_local_irq_save(flags)	local_irq_save(flags)
-# define raw_local_irq_restore(flags)	local_irq_restore(flags)
+# define local_irq_disable() raw_local_irq_disable()
+# define local_irq_enable() raw_local_irq_enable()
+# define local_irq_save(flags) raw_local_irq_save(flags)
+# define local_irq_restore(flags) raw_local_irq_restore(flags)
 #endif /* CONFIG_TRACE_IRQFLAGS_SUPPORT */
 
-#ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT
 #define safe_halt()						\
 	do {							\
 		trace_hardirqs_on();				\
@@ -91,6 +90,5 @@
 })
 
 #define irqs_disabled_flags(flags)	raw_irqs_disabled_flags(flags)
-#endif		/* CONFIG_X86 */
 
 #endif

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] fix build failure when compiling without TRACE_IRQFLAGS_SUPPORT
  2008-09-05  6:33 [PATCH] fix build failure when compiling without TRACE_IRQFLAGS_SUPPORT Giuseppe CAVALLARO
@ 2008-09-05  8:44 ` Paul Mundt
  2008-09-05 11:35 ` Giuseppe CAVALLARO
  1 sibling, 0 replies; 3+ messages in thread
From: Paul Mundt @ 2008-09-05  8:44 UTC (permalink / raw)
  To: linux-sh

On Fri, Sep 05, 2008 at 08:33:08AM +0200, Giuseppe CAVALLARO wrote:
> Hi All,
> playing with the kernel configuration we noticed that the
> kernel doesn't build if TRACE_IRQFLAGS_SUPPORT is
> forced off. So this patch just fixes it.
> 
> Anyway, we are wondering why it's not possible to disable
> this option from Kconfig.
> Reading the Documentation/irqflags-tracing.txt, this option is
> "needed for CONFIG_PROVE_SPIN_LOCKING and
> CONFIG_PROVE_RW_LOCKING to be offered by the generic
> lock debugging code."
> But we cannot find any references to PROVE_RW_LOCKING etc.
> May be removed?
> 
Have you noticed this problem on non-sh platforms also? If so, you should
resend this patch to linux-kernel with the linux-sh list CCed.

The config dependencies are a bit of a mess, but it's all quite
functional. CONFIG_PROVE_RW_LOCKING is bogus though, it's actually
CONFIG_PROVE_LOCKING. Anyways, take a look at lib/Kconfig.debug and it
should all be pretty obvious.

TRACE_IRQFLAGS_SUPPORT is used by quite a lot of things, lockdep, lock
stat, preempt debug, etc. You really do _not_ want to disable this
option, especially as it is a _support_ option, not a functional one.

CONFIG_TRACE_IRQFLAGS itself is what introduces extra overhead, and while
this depends on TRACE_IRQFLAGS_SUPPORT, it also has a dependency on
DEBUG_KERNEL. Thus, you will never see any of this stuff with kernel
debugging disabled. Most of this stuff is hidden away from the user in
Kconfig for a good reason :-)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] fix build failure when compiling without TRACE_IRQFLAGS_SUPPORT
  2008-09-05  6:33 [PATCH] fix build failure when compiling without TRACE_IRQFLAGS_SUPPORT Giuseppe CAVALLARO
  2008-09-05  8:44 ` Paul Mundt
@ 2008-09-05 11:35 ` Giuseppe CAVALLARO
  1 sibling, 0 replies; 3+ messages in thread
From: Giuseppe CAVALLARO @ 2008-09-05 11:35 UTC (permalink / raw)
  To: linux-sh

Paul Mundt wrote:
> On Fri, Sep 05, 2008 at 08:33:08AM +0200, Giuseppe CAVALLARO wrote:
>   
>> Hi All,
>> playing with the kernel configuration we noticed that the
>> kernel doesn't build if TRACE_IRQFLAGS_SUPPORT is
>> forced off. So this patch just fixes it.
>>
>> Anyway, we are wondering why it's not possible to disable
>> this option from Kconfig.
>> Reading the Documentation/irqflags-tracing.txt, this option is
>> "needed for CONFIG_PROVE_SPIN_LOCKING and
>> CONFIG_PROVE_RW_LOCKING to be offered by the generic
>> lock debugging code."
>> But we cannot find any references to PROVE_RW_LOCKING etc.
>> May be removed?
>>
>>     
> Have you noticed this problem on non-sh platforms also? If so, you should
> resend this patch to linux-kernel with the linux-sh list CCed.
>   
we'll send the patch soon.
> The config dependencies are a bit of a mess, but it's all quite
> functional. CONFIG_PROVE_RW_LOCKING is bogus though, it's actually
> CONFIG_PROVE_LOCKING. Anyways, take a look at lib/Kconfig.debug and it
> should all be pretty obvious.
>
> TRACE_IRQFLAGS_SUPPORT is used by quite a lot of things, lockdep, lock
> stat, preempt debug, etc. You really do _not_ want to disable this
> option, especially as it is a _support_ option, not a functional one.
>
> CONFIG_TRACE_IRQFLAGS itself is what introduces extra overhead, and while
> this depends on TRACE_IRQFLAGS_SUPPORT, it also has a dependency on
> DEBUG_KERNEL. Thus, you will never see any of this stuff with kernel
> debugging disabled. Most of this stuff is hidden away from the user in
> Kconfig for a good reason :-)
Sure, all sounds clear now.
Thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-09-05 11:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-05  6:33 [PATCH] fix build failure when compiling without TRACE_IRQFLAGS_SUPPORT Giuseppe CAVALLARO
2008-09-05  8:44 ` Paul Mundt
2008-09-05 11:35 ` Giuseppe CAVALLARO

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox