Re: [x86] Fix prefetch instruction

From: H. Peter Anvin
Date: Fri Aug 05 2011 - 17:22:24 EST


On 08/05/2011 02:10 PM, Christoph Lameter wrote:
>>
>> Have you done any performance analysis on this versus the null case? I
>> know there are some workloads where it helps, but if it hurts as many as
>> it helps...
>
> No I have not. prefetch IMHO means that the cacheline is fetched early so
> that the cacheline is fully available like any other to the code.
> prefetchnta does fetch the cacheline too but its not treated like the other cacheline but
> preferably thrown out again. Its a "streamfetch" designed for apps that
> scan over large amounts of memory and want to avoid cache pollution.
>
> This is surprising to the end user as far as I can tell.
>

Right. However, Linus has brought up the hypothesis that prefetch might
actually be a net loss on x86, because current x86 processors are
generally doing a good job with prefetching in hardware. Directed
prefetches can thus be a net minus.

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