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 ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel