Boards: [soy / pol / qa / raid / v / an / x / mtv / news / q / asp / r9k / craft / a / tech / int / r / biz]
Unfortunately, our archiver is being blocked by Cloudflare bot-protection. I am working on it.
[10 / 3 / 1]

No.29794 View View Original Report
Could use some help. How can a lock-free multi-producer ring buffer avoid a Total Store Ordering (TSO) violation on a multi-socket Ice Lake system if a speculative MOVNTDQ (Non-Temporal Store) bypasses the L1-D cache and hits the Fill Buffer during a concurrent UPI (Ultra Path Interconnect) snoop-invalidate cycle? Specifically, if the remote socket holds the cache line in the Forward (F) state and the Invalidation Queue on the receiving NUMA node is saturated, what prevents the Store-to-Load Forwarding logic from retiredly committing a stale pointer to the local pipeline before the global RFO (Request For Ownership) has been acknowledged, and can this be mitigated using a LOCK-prefixed instruction without forcing a full serializing CPUID stall that would violate a strict 100ns deterministic latency requirement? Thanks.