On Friday 04 April 2008 01:46:21 pm Balaji Rao wrote:
> 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.
> 
Christian Borntraeger CCed.

BTW, this is with respect to kvm.git, not a version prior to 

commit 4265f161b6bb7b31163671329b1142b9023bf4e3
Author: Christian Borntraeger <[EMAIL PROTECTED]>
Date:   Fri Mar 14 14:17:05 2008 +0100

    virtio: fix race in enable_cb


The above commit does not fix the problem.I see this oops even today. There is 
a race happening between calls to enable_cb 
and disable_cb.
-- 
regards,
Balaji Rao
Dept. of Mechanical Engineering,
National Institute of Technology Karnataka, India

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to