@koakuma without memory linear in the number of threads that could be involved?
@robryk I have no idea about memory requirements
@robryk But seems like the schemes I've read so far does involve a per-thread structure yes
@koakuma Actually, I think one can do with just one shared "buffer", at least in the world where you can fit a counter of operations in half of the CAS word -- while filling the buffer, which is composed of <prev version, word> pairs, you CAS its elements so that you start failing if there was an intervening update.
@robryk I wonder if a 2x32b CAS has enough space for the counter...
@koakuma btw an interesting special case is when this cas will never see conflicting updates (only possibly updates that have already been applied in the past). This special case is way simpler, but still has the counter overflow problem
@robryk Though this is more of a curiosity thing don't take it too seriously lole
@robryk Ideally I'd want something close to a native DWCAS (which I don't think have any fairness guarantee either?)