vring_avail->ring が分からない - virtio

virtio も大詰め。あとは vring_aval->idx と vring_avail->ring[n] の役割が分かれば OK 。
guest が host に「このリングを参照してよ」と通知する役割を担っているのは分かるのだが。

struct vring_avail
   u16 flags;
   u16 idx;
   u16 ring[NUM];

The available ring consists of a free-running index, an interrupt
suppression flag, and an array of indices into the
descriptor table (representing the heads of buffers).

free-running index ってのがニュアンスが分からない。alc で調べると free-running は「自由継続」という意味らしいのだけど。