I'm curious why the cached indices are themselves cache line aligned.
Every time you load the write index you also load the cached read index.
The same is also true for the read case (every time you load the read index you also load the cached write index)
Putting these in separate cachelines makes no sense, unless there's a reason that the CPU could make some kind of speculative progress with only one of these values available that it couldn't otherwise?
I'm curious why the cached indices are themselves cache line aligned.
Every time you load the write index you also load the cached read index.
The same is also true for the read case (every time you load the read index you also load the cached write index)
Putting these in separate cachelines makes no sense, unless there's a reason that the CPU could make some kind of speculative progress with only one of these values available that it couldn't otherwise?