I've discovered that the 'idx' variable may need to increment continuously and fetch the descriptor after applying the modulus operator. This necessity arises because my custom frontend driver operates optimally only when 'avail.idx' increases without wrapping around. Similarly, the backend utilizes 'used.idx,' which also increases without wrapping.
Proof
I'm employing the virtio non-legacy mode along with vrtio-blk to write 4096 blocks. Interestingly, I've observed that the frontend driver performs effectively when 'idx' doesn't wrap around.
Hi,