On Wed, 3 Oct 2007, Pekka Enberg wrote:I doubt it's a CPU bug. It's more likely a chipset or motherboard bug around the CPU. The patterns for the original "cp" corruption that Neil posted seem to be: File offset correct corrupt decimal hex ======== ======== 642470 0009cda6 'm' 0x6D 'o' 0x6f 972198 000ed5a6 'i' 0x69 'a' 0x61 1243686 0012fa26 's' 0x73 'c' 0x63 1676846 0019962e 't' 0x74 '`' 0x64 1907974 001d1d06 ' ' 0x20 '(' 0x28 ... and since it's apparently about using the uncached accesses, it's interesting that the low three bits are identical in all those corruptions (they also seem to be single-bit errors in the actual byte-value, although the bit is not the same). If the external bus is 64 bits (?), that would say that it's one particular byte lane that is dodgy. I would bet that the reason the intel-optimized memcpy triggers this is that the non-temporal stores just means that you go out directly on the bus, and it probably just shows a weakness in the chipset or bus that doesn't show with the normal cacheline accesses. Linus -
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Rob Landley | What still uses the block layer? |
git: | |
| Antonio Almeida | HTB accuracy for high speed |
| Alexey Dobriyan | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
