Re: [PATCH] X86-32: Let gcc decide whether to inline memcpy wasRe: New x86 warning

From: Ingo Molnar
Date: Thu Apr 23 2009 - 02:32:33 EST



* Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> > > Quick test here:
> >
> > How about you just compile the kernel with gcc-3.2 and compare
> > the number of calls to memcpy before-and-after instead? That's
> > the real test.
>
> I waited over 10 minutes for the full vmlinux objdumps to finish.
> sorry lost patience. If someone has a fast disassembler we can try
> it. I'll leave them running over night, maybe there are exact
> numbers tomorrow.

Uhm, the test Linus requested is very simple, it doesnt need 'full'
objdumps, just a plain defconfig [*] - an objdump takes less than 10
seconds here even on an old box i tried it on.

I just did this - it all took less than 5 minutes to do the whole
test with gcc34:

vmlinux.gcc34.vanilla: 679 calls to memcpy
vmlinux.gcc34.gcc-memcpy: 1393 calls to memcpy

So your patch more than doubles the number of calls to out-of-line
memcpy on older GCC. That's not really acceptable so i'm NAK-ing
this patch.

Next time you send such patches please test with older GCCs straight
away - it's a basic act of testing when doing a patch that 'lets GCC
decide' anything. GCC has a very bad track record in that area.

Ingo
--
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/