Re: x86-64: memset()/memcpy() not fully standards compliant

From: Andi Kleen
Date: Fri Jan 06 2012 - 04:49:26 EST


On Thu, Jan 05, 2012 at 06:03:23PM -0800, H. Peter Anvin wrote:
> On 01/05/2012 05:47 PM, Andi Kleen wrote:
> >>
> >> Is that still true, and do we even use string instructions still on
> >> those old CPUs? Jan's fixes don't introduce any additional delays in
> >> the non-string-instruction paths.
> >
> > Yes various of the CPUs with bugs used string instructions.
> >
>
> Which CPUs are you talking about here?

This was various iterations of K8 and PSC. Early Meroms may also have
had issues (not 100% sure).

>
> >
> > Both string and non string instructions are used on modern CPUs,
> > so making any of that slower is not a good idea.
> >
>
> Obviously not, but I'm perfectly fine turning REP_GOOD off on old broken
> CPUs.

That would be even worse.

You would slow a critical fast path operation down for something
that never happens?!? There were big differences between strings
and the unrolled loop for several.

IMHO it's a war games situation: "the only way to win is not to play"

-Andi

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