Hi, I have an application with two threads sharing a memory variable, one continuously writing, one continuously reading. Because of the way my system works, the reader can tolerate reading stale data, but it should not stall on memory reads (the line is on the local cache for the reader, just might be invalidated). I was wondering if there is some way (either generic or x86-specific, either simple or convoluted, possibly using multiple versions of the shared variable in different cache lines) to make sure that reads never stalls (or, equivalently, let me read stale values from the cache) ? I have done some experiments and on a single-socket machines the stallled reads take some 50ns; on a dual socket machine the stall penalty grows to about 200ns. cheers luigiReceived on Fri Apr 08 2016 - 14:19:28 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:04 UTC