Re: [PATCH 9/9] x86/lib/memset_64.S: Optimize memset by enhanced REPMOVSB/STOSB

From: Ingo Molnar
Date: Wed May 18 2011 - 14:47:29 EST


* Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> > I use gcc 4.3.2 installed by FC10 to build kernel with defconfig. Only memcpy is built with gcc builtin and inline memcpy. All of others (i.e. memset, clear_page, memmove, and copy_user) call the kernel lib.
> >
> > It's easy to check this by disassembling kernel binary.
>
> gcc has a complex set of heuristics. For example if it cannot decide the
> length or the alignment it calls the kernel code. Otherwise it inlines.
>
> So just looking at a few examples won't give you the whole picture.

Well, your generic, vague claims about what GCC could possibly do does not
count much when weighted against the hard data he provided.

He used a defconfig and reported his results and has proven that your claim is
wrong in fairly common circumstances.

If you think the result is or should be different provide a config and test it
yourself, contradicting/countering the data he provided.

Thanks,

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/