[ltt-dev] 2.6.29-rc7-lttng-0.110 broken with CONFIG_SLUB

Josh Boyer jwboyer at linux.vnet.ibm.com
Mon Mar 16 18:05:18 EDT 2009


On Mon, Mar 16, 2009 at 05:53:37PM -0400, Mathieu Desnoyers wrote:
>* Josh Boyer (jwboyer at linux.vnet.ibm.com) wrote:
>> On Mon, Mar 16, 2009 at 04:25:00PM -0400, Mathieu Desnoyers wrote:
>> >* Josh Boyer (jwboyer at linux.vnet.ibm.com) wrote:
>> >> On Mon, Mar 16, 2009 at 03:44:59PM -0400, Mathieu Desnoyers wrote:
>> >> >* Josh Boyer (jwboyer at 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 ;)

josh

diff --git a/include/linux/irqnr.h b/include/linux/irqnr.h
index 86af92e..fd07603 100644
--- a/include/linux/irqnr.h
+++ b/include/linux/irqnr.h
@@ -38,6 +38,10 @@ extern struct irq_desc *irq_to_desc(unsigned int irq);
 
 #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++)
 
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index 03cac54..1793892 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -496,6 +496,6 @@ unsigned int kstat_irqs_cpu(unsigned int irq, int cpu)
 	struct irq_desc *desc = irq_to_desc(irq);
 	return desc ? desc->kstat_irqs[cpu] : 0;
 }
-#endif
 EXPORT_SYMBOL(kstat_irqs_cpu);
+#endif




More information about the lttng-dev mailing list