Messages in this thread | | | Date | Fri, 05 Aug 2011 14:22:11 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [x86] Fix prefetch instruction |
| |
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
| |