Re: kvm process exit on virtio error

Mark McLoughlin
2009-02-11T19:59:59Z

Hi,

On Wed, 2009-02-11 at 12:41 +0100, Phil Ten wrote:
> Hello,
>
> My kvm processes are exiting on what I think are VIRTIO errors:
>
> Guest moved used index from 24543 to 24606

This is very strange. The code in question is:

static int virtqueue_num_heads(VirtQueue *vq, unsigned int idx)
{
uint16_t num_heads = vring_avail_idx(vq) - idx;

/* Check it isn't doing very strange things with descriptor numbers. */
if (num_heads > vq->vring.num) {
fprintf(stderr, "Guest moved used index from %u to %u",
idx, vring_avail_idx(vq));
exit(1);
...

i.e. for virtio_net, vq->vring.num == 256 and 24606 - 24543 == 63, so it
doesn't make much sense.

Does this happen under heavy network traffic? Have you tried virtio_blk?

Thanks,
Mark.