Re: Inlining can be _very_bad...

From: Adrian Bunk
Date: Thu Mar 29 2007 - 13:53:15 EST


On Thu, Mar 29, 2007 at 01:18:38AM +0200, J.A. MagallÃn wrote:
> Hi all...
>
> I post this here as it can be of direct interest for kernel development
> (as I recall many discussions about inlining yes or no...).
>
> Testing other problems, I finally got this this issue: the same short
> and stupid loop lasted from 3 to 5 times more if it was in main() than
> if it was in an out-of-line function. The same (bad thing) happens if
> the function is inlined.
>...
> It looks like is updating the stack on each iteration...This is -march=opteron
> code, the -march=pentium4 is similar. Same behaviour with gcc3 and gcc4.
>
> tst.c and Makefile attached.
>
> Nice, isn't it ? Please, probe where is my fault...

The only fault is to post this issue here instead of the gcc Bugzilla.

In your example the compiler should produce code not slower than with
the out-of-line version when inlining. If it doesn't the bug in the
compiler resulting in this should be fixed.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/