4 ms·
The word-tearing case had unrelated data values packed within the same granule of cache storage, and that derailed the running environment in a very subtle way.
by Hoff 16y ago
The word-tearing case had unrelated data values packed within the same granule of cache storage, and that derailed the running environment in a very subtle way. With just the right (wrong) timing, you very occasionally saw slightly different values in the adjacent variable within the granule when (apparently-unrelated) threads were spun up, and got tangled and torn. No shared references. Just sharing that granule.