а почему потребовалось уметь делать атомарно именно сравнение со свопом? Я видел их в кучке lock-free алгоритмов но вот откуда ноги у них растут не знаю
ну то есть корни у этого алгоритмические типа "мы умели бы делать такие штуки без блокировок если бы у нас были атомарные CAS операции" — "нате вам CAS операции в железе".