kernel BUG at drivers/virtio/virtio_ring.c:218!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rusty,

I hit a bug in virtio_ring.c:218 when I was stressing virtio_net using kvm with -smp 4.

static void vring_disable_cb(struct virtqueue *_vq)
{
        struct vring_virtqueue *vq = to_vvq(_vq);

        START_USE(vq);
-->        BUG_ON(vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT);
        vq->vring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT;
        END_USE(vq);
}

Going through the source code, I felt that this BUG_ON is not required as any CPU could race and call disable_cb when one 
cpu still believes that its enabled. To validate my understanding, I commented out the BUG_ON and everything worked 
perfectly well.

I also get a lot of "Unlikely: restart svq race" on my console. Under high load conditions, a race could occur very often 
and I'm not sure if that signals a buggy situation. We could printk_ratelimit if at all we need to retain it.

If you agree, I'll send a patch to this.

-- 
thanks and regards,
Balaji Rao
Dept. of Mechanical Engineering,
National Institute of Technology Karnataka, India
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux