From: Mikael Pettersson <mikpe@csd.uu.se>

gcc-3.4.1 errors out in 2.6.8-rc1-mm1 at arch/i386/kernel/smp.c:

arch/i386/kernel/smp.c: In function `flush_tlb_others':
arch/i386/kernel/smp.c:161: sorry, unimplemented: inlining failed in call to 'send_IPI_mask_bitmask': function not considered for inlining
arch/i386/kernel/smp.c:9: sorry, unimplemented: called from here
make[1]: *** [arch/i386/kernel/smp.o] Error 1
make: *** [arch/i386/kernel] Error 2

The <mach_ipi.h> inlines depend on functions defined further down in smp.c.
 Moving the #include eliminates the problem.

Signed-off-by: Mikael Pettersson <mikpe@csd.uu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/i386/kernel/smp.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN arch/i386/kernel/smp.c~arch-i386-kernel-smpc-gcc341-inlining-fix arch/i386/kernel/smp.c
--- 25/arch/i386/kernel/smp.c~arch-i386-kernel-smpc-gcc341-inlining-fix	2004-07-26 14:49:39.813859992 -0700
+++ 25-akpm/arch/i386/kernel/smp.c	2004-07-26 14:49:39.817859384 -0700
@@ -22,7 +22,6 @@
 
 #include <asm/mtrr.h>
 #include <asm/tlbflush.h>
-#include <mach_ipi.h>
 #include <mach_apic.h>
 
 /*
@@ -230,6 +229,8 @@ inline void send_IPI_mask_sequence(cpuma
 	local_irq_restore(flags);
 }
 
+#include <mach_ipi.h> /* must come after the send_IPI functions above for inlining */
+
 /*
  *	Smarter SMP flushing macros. 
  *		c/o Linus Torvalds.
_