Mona の virtio block デバイスドライバで見られた症状のメモ。
環境は qemu 0.14.0 。
症状
used index が更新され getBuf できた状態であるにも関わらず status が更新されないことがある。
試したこと
- cookie の一致確認により目的外のバッファを取り出していることはない
- volatile にする
- read memory barrier を入れる
どちらも効果なし。
結局 status の初期値を 0xff とし、getBuf 後 0xff 以外の値になるまで busy loop している。