Re: Inlining can be _very_bad...
- From: Adrian Bunk <bunk@xxxxxxxxx>
- Date: Fri, 30 Mar 2007 00:28:32 +0200
On Fri, Mar 30, 2007 at 12:01:11AM +0200, J.A. Magallón wrote:
On Thu, 29 Mar 2007 19:52:54 +0200, Adrian Bunk <bunk@xxxxxxxxx> wrote:
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.
Sorry, my intention was just something like 'take a look at your
reduction-like code, perhaps its sloooow', something like checksum
funtions in tcp or raid that are inlined expecting to be faster
and in fact they are slower...
Unless a function that has more than 1 caller is very tiny or reduces at
compile time to a very tiny rest, it's not expected that inlining was
faster on current CPUs.
But most times that's already only up to the compiler - e.g. current gcc
versions already automatically inline all static functions with only
1 caller.
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.
That's what I expected, but...
Going to gcc bugzilla...
Thanks.
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/
- References:
- Inlining can be _very_bad...
- From: J.A. Magallón
- Re: Inlining can be _very_bad...
- From: Adrian Bunk
- Re: Inlining can be _very_bad...
- From: J.A. Magallón
- Inlining can be _very_bad...
- Prev by Date: strange high system cpu usage.
- Next by Date: Re: IP1000A: About IC Plus IP1000A Linux driver current status
- Previous by thread: Re: Inlining can be _very_bad...
- Next by thread: [PATCH][2.6.21] uml: fix unreasonably long udelay
- Index(es):
Relevant Pages
|