All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols
       [not found]           ` <20090316220518.GD22538@yoda.jdub.homelinux.org>
@ 2009-03-16 23:11             ` Mathieu Desnoyers
  2009-03-16 23:52               ` Thomas Gleixner
  0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Desnoyers @ 2009-03-16 23:11 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Josh Boyer
  Cc: ltt-dev, danymadden, linux-kernel

On Mon, Mar 16, 2009 at 05:53:37PM -0400, Mathieu Desnoyers wrote:
>* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> On Mon, Mar 16, 2009 at 04:25:00PM -0400, Mathieu Desnoyers wrote:
>> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> >> On Mon, Mar 16, 2009 at 03:44:59PM -0400, Mathieu Desnoyers wrote:
>> >> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> >> >> Hi All,
>> >> >> 
>> >> >> I was attempting to build a simple ppc64_defconfig using
>> >> >> the latest LTTng tag from git.  When doing a:
>> >> >> 
>> >> >> 	make ppc64_defconfig
>> >> >> 	make
>> >> >> 
>> >> >> I get the error below.
>> >> >> 
>> >> >
>> >> >Hi Josh,
>> >> >
>> >> >Yes, LTTng has been tested with slub, but not for the powerpc64
>> >> >cross-build. Thanks for the report, this is actually a header circular
>> >> >dependency I caused. It should be fixed in LTTng 0.111.
>> >> 
>> >> Bah. Yes, I should have clarified on ppc/ppc64.  Sorry for the confusion
>> >> there.
>> >> 
>> >> >I'll have to update my powerpc64 cross compiler to test it, because I am
>> >> >stucked with a broken gcc 4.1. Please tell me if 0.111 fixes the problem
>> >> >for you or if you encounter other problems.
>> >> 
>> >> Yep, the extern on tb_ticks_per_sec is what I had come up with locally.
>> >> It should work fine, and does indeed get past the error I was seeing.  The
>> >> build now dies with:
>> >> 
>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>> >> make[2]: *** [kernel/irq/handle.o] Error 1
>> >> make[1]: *** [kernel/irq] Error 2
>> >> make: *** [kernel] Error 2
>> >> make: *** Waiting for unfinished jobs....
>> >> 
>> >
>> >Can I get your full .config ?
>> 
>> Sure, attached.  Note, this is just:
>> 
>> make ppc64_defconfig
>> make vmlinux
>> 
>> josh
>
>Can you try moving this code around ?

Yep, allows vmlinux and modules to build just fine.  Here's a patch for you ;)

Mathieu :

This build problem was exhibited because of the added
EXPORT_SYMBOL(irq_to_desc) in the LTTng tree, but only on powerpc.

Applies on 2.6.29-rc8.

From: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
---
 include/linux/irqnr.h |    4 ++++
 kernel/irq/handle.c   |    2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

Index: linux-2.6-lttng/include/linux/irqnr.h
===================================================================
--- linux-2.6-lttng.orig/include/linux/irqnr.h	2009-02-10 22:53:36.000000000 -0500
+++ linux-2.6-lttng/include/linux/irqnr.h	2009-03-16 18:40:01.000000000 -0400
@@ -38,6 +38,10 @@ extern struct irq_desc *irq_to_desc(unsi
 
 #endif /* CONFIG_GENERIC_HARDIRQS */
 
+extern int nr_irqs;
+struct irq_desc;
+extern struct irq_desc *irq_to_desc(unsigned int irq);
+
 #define for_each_irq_nr(irq)                   \
        for (irq = 0; irq < nr_irqs; irq++)
 
Index: linux-2.6-lttng/kernel/irq/handle.c
===================================================================
--- linux-2.6-lttng.orig/kernel/irq/handle.c	2009-03-16 18:38:51.000000000 -0400
+++ linux-2.6-lttng/kernel/irq/handle.c	2009-03-16 18:40:01.000000000 -0400
@@ -473,6 +473,6 @@ unsigned int kstat_irqs_cpu(unsigned int
 	struct irq_desc *desc = irq_to_desc(irq);
 	return desc ? desc->kstat_irqs[cpu] : 0;
 }
-#endif
 EXPORT_SYMBOL(kstat_irqs_cpu);
+#endif
 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols
  2009-03-16 23:11             ` [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols Mathieu Desnoyers
@ 2009-03-16 23:52               ` Thomas Gleixner
  2009-03-17  0:08                 ` [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2 Mathieu Desnoyers
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Gleixner @ 2009-03-16 23:52 UTC (permalink / raw)
  To: Mathieu Desnoyers
  Cc: Ingo Molnar, Josh Boyer, ltt-dev, danymadden, linux-kernel

On Mon, 16 Mar 2009, Mathieu Desnoyers wrote:
> Mathieu :
> 
> This build problem was exhibited because of the added
> EXPORT_SYMBOL(irq_to_desc) in the LTTng tree, but only on powerpc.
> 
> Applies on 2.6.29-rc8.

Applies, but that does not make it a useful patch per se.

2.6.29-rc8/include/linux/irqnr.h has (condensed excerpt):

#ifndef CONFIG_GENERIC_HARDIRQS
#define nr_irqs                 NR_IRQS
#define irq_to_desc(irq)        (&irq_desc[irq])
#else
extern int nr_irqs;
extern struct irq_desc *irq_to_desc(unsigned int irq);
#endif  /* CONFIG_GENERIC_HARDIRQS */

And this adds right below of the #endif:
 
> +++ linux-2.6-lttng/include/linux/irqnr.h	2009-03-16 18:40:01.000000000 -0400
> @@ -38,6 +38,10 @@ extern struct irq_desc *irq_to_desc(unsi
>  
>  #endif /* CONFIG_GENERIC_HARDIRQS */
>  
> +extern int nr_irqs;
> +struct irq_desc;
> +extern struct irq_desc *irq_to_desc(unsigned int irq);
> +

Is this a contribution to the "most useless patch of the week"
contest ?

You have my vote.

    tglx



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

* Re: [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2
  2009-03-16 23:52               ` Thomas Gleixner
@ 2009-03-17  0:08                 ` Mathieu Desnoyers
  2009-03-17  0:34                   ` Josh Boyer
  2009-03-17  8:29                   ` Thomas Gleixner
  0 siblings, 2 replies; 5+ messages in thread
From: Mathieu Desnoyers @ 2009-03-17  0:08 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Ingo Molnar, Josh Boyer, ltt-dev, danymadden, linux-kernel

* Thomas Gleixner (tglx@linutronix.de) wrote:
> Is this a contribution to the "most useless patch of the week"
> contest ?
> 
> You have my vote.
> 

Count mine too ! :) Actually, this was not what it should look like.
Here is my version. I am not totally convinced that the struct irq_desc
is absolutely required, but in some include orders, it might matter.
However, the #endif around the EXPORT_SYMBOL is definitely needed.

Best regards,

Mathieu

kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2

On Mon, Mar 16, 2009 at 05:53:37PM -0400, Mathieu Desnoyers wrote:
>* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> On Mon, Mar 16, 2009 at 04:25:00PM -0400, Mathieu Desnoyers wrote:
>> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> >> On Mon, Mar 16, 2009 at 03:44:59PM -0400, Mathieu Desnoyers wrote:
>> >> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> >> >> Hi All,
>> >> >> 
>> >> >> I was attempting to build a simple ppc64_defconfig using
>> >> >> the latest LTTng tag from git.  When doing a:
>> >> >> 
>> >> >> 	make ppc64_defconfig
>> >> >> 	make
>> >> >> 
>> >> >> I get the error below.
>> >> >> 
>> >> >
>> >> >Hi Josh,
>> >> >
>> >> >Yes, LTTng has been tested with slub, but not for the powerpc64
>> >> >cross-build. Thanks for the report, this is actually a header circular
>> >> >dependency I caused. It should be fixed in LTTng 0.111.
>> >> 
>> >> Bah. Yes, I should have clarified on ppc/ppc64.  Sorry for the confusion
>> >> there.
>> >> 
>> >> >I'll have to update my powerpc64 cross compiler to test it, because I am
>> >> >stucked with a broken gcc 4.1. Please tell me if 0.111 fixes the problem
>> >> >for you or if you encounter other problems.
>> >> 
>> >> Yep, the extern on tb_ticks_per_sec is what I had come up with locally.
>> >> It should work fine, and does indeed get past the error I was seeing.  The
>> >> build now dies with:
>> >> 
>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>> >> make[2]: *** [kernel/irq/handle.o] Error 1
>> >> make[1]: *** [kernel/irq] Error 2
>> >> make: *** [kernel] Error 2
>> >> make: *** Waiting for unfinished jobs....
>> >> 
>> >
>> >Can I get your full .config ?
>> 
>> Sure, attached.  Note, this is just:
>> 
>> make ppc64_defconfig
>> make vmlinux
>> 
>> josh
>
>Can you try moving this code around ?

Yep, allows vmlinux and modules to build just fine.  Here's a patch for you ;)

Based on a patch from Josh Boyer <jwboyer@linux.vnet.ibm.com>, updated by
Mathieu Desnoyers.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
---
 include/linux/irqnr.h |    1 +
 kernel/irq/handle.c   |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6-lttng/include/linux/irqnr.h
===================================================================
--- linux-2.6-lttng.orig/include/linux/irqnr.h	2009-03-16 18:45:40.000000000 -0400
+++ linux-2.6-lttng/include/linux/irqnr.h	2009-03-16 19:45:26.000000000 -0400
@@ -23,6 +23,7 @@
 #else /* CONFIG_GENERIC_HARDIRQS */
 
 extern int nr_irqs;
+struct irq_desc;
 extern struct irq_desc *irq_to_desc(unsigned int irq);
 
 # define for_each_irq_desc(irq, desc)					\
Index: linux-2.6-lttng/kernel/irq/handle.c
===================================================================
--- linux-2.6-lttng.orig/kernel/irq/handle.c	2009-03-16 18:45:40.000000000 -0400
+++ linux-2.6-lttng/kernel/irq/handle.c	2009-03-16 19:44:05.000000000 -0400
@@ -473,6 +473,6 @@ unsigned int kstat_irqs_cpu(unsigned int
 	struct irq_desc *desc = irq_to_desc(irq);
 	return desc ? desc->kstat_irqs[cpu] : 0;
 }
-#endif
 EXPORT_SYMBOL(kstat_irqs_cpu);
+#endif
 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2
  2009-03-17  0:08                 ` [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2 Mathieu Desnoyers
@ 2009-03-17  0:34                   ` Josh Boyer
  2009-03-17  8:29                   ` Thomas Gleixner
  1 sibling, 0 replies; 5+ messages in thread
From: Josh Boyer @ 2009-03-17  0:34 UTC (permalink / raw)
  To: Mathieu Desnoyers
  Cc: Thomas Gleixner, Ingo Molnar, ltt-dev, danymadden, linux-kernel

On Mon, Mar 16, 2009 at 08:08:59PM -0400, Mathieu Desnoyers wrote:
>* Thomas Gleixner (tglx@linutronix.de) wrote:
>> Is this a contribution to the "most useless patch of the week"
>> contest ?
>> 
>> You have my vote.
>> 
>
>Count mine too ! :) Actually, this was not what it should look like.
>Here is my version. I am not totally convinced that the struct irq_desc
>is absolutely required, but in some include orders, it might matter.
>However, the #endif around the EXPORT_SYMBOL is definitely needed.
>
>Best regards,
>
>Mathieu
>
>kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2
>
>On Mon, Mar 16, 2009 at 05:53:37PM -0400, Mathieu Desnoyers wrote:
>>* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>>> On Mon, Mar 16, 2009 at 04:25:00PM -0400, Mathieu Desnoyers wrote:
>>> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>>> >> On Mon, Mar 16, 2009 at 03:44:59PM -0400, Mathieu Desnoyers wrote:
>>> >> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>>> >> >> Hi All,
>>> >> >> 
>>> >> >> I was attempting to build a simple ppc64_defconfig using
>>> >> >> the latest LTTng tag from git.  When doing a:
>>> >> >> 
>>> >> >> 	make ppc64_defconfig
>>> >> >> 	make
>>> >> >> 
>>> >> >> I get the error below.
>>> >> >> 
>>> >> >
>>> >> >Hi Josh,
>>> >> >
>>> >> >Yes, LTTng has been tested with slub, but not for the powerpc64
>>> >> >cross-build. Thanks for the report, this is actually a header circular
>>> >> >dependency I caused. It should be fixed in LTTng 0.111.
>>> >> 
>>> >> Bah. Yes, I should have clarified on ppc/ppc64.  Sorry for the confusion
>>> >> there.
>>> >> 
>>> >> >I'll have to update my powerpc64 cross compiler to test it, because I am
>>> >> >stucked with a broken gcc 4.1. Please tell me if 0.111 fixes the problem
>>> >> >for you or if you encounter other problems.
>>> >> 
>>> >> Yep, the extern on tb_ticks_per_sec is what I had come up with locally.
>>> >> It should work fine, and does indeed get past the error I was seeing.  The
>>> >> build now dies with:
>>> >> 
>>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>>> >> make[2]: *** [kernel/irq/handle.o] Error 1
>>> >> make[1]: *** [kernel/irq] Error 2
>>> >> make: *** [kernel] Error 2
>>> >> make: *** Waiting for unfinished jobs....
>>> >> 
>>> >
>>> >Can I get your full .config ?
>>> 
>>> Sure, attached.  Note, this is just:
>>> 
>>> make ppc64_defconfig
>>> make vmlinux
>>> 
>>> josh
>>
>>Can you try moving this code around ?
>
>Yep, allows vmlinux and modules to build just fine.  Here's a patch for you ;)
>
>Based on a patch from Josh Boyer <jwboyer@linux.vnet.ibm.com>, updated by
>Mathieu Desnoyers.

You don't need to credit me here.  All I did was take your "Can you try moving
this code around" sequence and actually turn it into patch format.

I do agree the #endif move is needed in the builds I was trying though.

josh

>Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
>---
> include/linux/irqnr.h |    1 +
> kernel/irq/handle.c   |    2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
>Index: linux-2.6-lttng/include/linux/irqnr.h
>===================================================================
>--- linux-2.6-lttng.orig/include/linux/irqnr.h	2009-03-16 18:45:40.000000000 -0400
>+++ linux-2.6-lttng/include/linux/irqnr.h	2009-03-16 19:45:26.000000000 -0400
>@@ -23,6 +23,7 @@
> #else /* CONFIG_GENERIC_HARDIRQS */
>
> extern int nr_irqs;
>+struct irq_desc;
> extern struct irq_desc *irq_to_desc(unsigned int irq);
>
> # define for_each_irq_desc(irq, desc)					\
>Index: linux-2.6-lttng/kernel/irq/handle.c
>===================================================================
>--- linux-2.6-lttng.orig/kernel/irq/handle.c	2009-03-16 18:45:40.000000000 -0400
>+++ linux-2.6-lttng/kernel/irq/handle.c	2009-03-16 19:44:05.000000000 -0400
>@@ -473,6 +473,6 @@ unsigned int kstat_irqs_cpu(unsigned int
> 	struct irq_desc *desc = irq_to_desc(irq);
> 	return desc ? desc->kstat_irqs[cpu] : 0;
> }
>-#endif
> EXPORT_SYMBOL(kstat_irqs_cpu);
>+#endif
>
>
>-- 
>Mathieu Desnoyers
>OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

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

* Re: [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2
  2009-03-17  0:08                 ` [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2 Mathieu Desnoyers
  2009-03-17  0:34                   ` Josh Boyer
@ 2009-03-17  8:29                   ` Thomas Gleixner
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Gleixner @ 2009-03-17  8:29 UTC (permalink / raw)
  To: Mathieu Desnoyers
  Cc: Ingo Molnar, Josh Boyer, ltt-dev, danymadden, linux-kernel

On Mon, 16 Mar 2009, Mathieu Desnoyers wrote:

> * Thomas Gleixner (tglx@linutronix.de) wrote:
> > Is this a contribution to the "most useless patch of the week"
> > contest ?
> > 
> > You have my vote.
> > 
> 
> Count mine too ! :) Actually, this was not what it should look like.
> Here is my version. I am not totally convinced that the struct irq_desc
> is absolutely required, but in some include orders, it might matter.

I have not seen a compile failure report yet.

> However, the #endif around the EXPORT_SYMBOL is definitely needed.

Right.

>  	struct irq_desc *desc = irq_to_desc(irq);
>  	return desc ? desc->kstat_irqs[cpu] : 0;
>  }
> -#endif
>  EXPORT_SYMBOL(kstat_irqs_cpu);
> +#endif

Thanks,

	tglx

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

end of thread, other threads:[~2009-03-17  8:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20090316182227.GA2444@yoda.jdub.homelinux.org>
     [not found] ` <20090316194459.GD11878@Krystal>
     [not found]   ` <20090316200115.GA22538@yoda.jdub.homelinux.org>
     [not found]     ` <20090316202500.GA13872@Krystal>
     [not found]       ` <20090316205829.GB22538@yoda.jdub.homelinux.org>
     [not found]         ` <20090316215337.GB15119@Krystal>
     [not found]           ` <20090316220518.GD22538@yoda.jdub.homelinux.org>
2009-03-16 23:11             ` [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols Mathieu Desnoyers
2009-03-16 23:52               ` Thomas Gleixner
2009-03-17  0:08                 ` [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2 Mathieu Desnoyers
2009-03-17  0:34                   ` Josh Boyer
2009-03-17  8:29                   ` Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.