What the software want it still a queue, you could still send pointers if the memory they point to has been committed to memory when the receiving core see them
Which means that the sender will need to pessimistically flush anything that the receiver might need to access, which is likely more expensive than optimistic cache coherency.
Non-CC systems were a thing in the past, and still are for things like GPUs and distributed systems, but are much harder to program and not necessarily more efficient.
As the saying goes there are only two hard things in programming...
Comments
Which means that the sender will need to pessimistically flush anything that the receiver might need to access, which is likely more expensive than optimistic cache coherency.
Non-CC systems were a thing in the past, and still are for things like GPUs and distributed systems, but are much harder to program and not necessarily more efficient.
As the saying goes there are only two hard things in programming...