tarosukeの日記: [wOS] リストをロックフリープロトコルで実現する方法
日記 by
tarosuke
要するにポインタ二つを一度に書き換えればいいわけで、たとえばia32ならcmpxchg8bでやればいい。amd64だとcmpxchg16bみたいな命令はないので同じようにはできないんだが、例えばカーネル空間が4GiB以下ならポインタの代わりにインデクス番号を使うと64bitsの置き換えで実質的にポインタ二つを一度に書き換えられる。
ま、ただのロックも同じくらい軽いからそんな面倒なことやんないけどね。
プロセッサによってはできない場合もあるし。
[wOS] リストをロックフリープロトコルで実現する方法 More ログイン