* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox