|
|
Re: [V2 PATCH 9/9] vhost: zerocopy: poll vq in zerocopy callback |
On Wed, May 16, 2012 at 10:32:05AM -0700, Shirley Ma wrote: > On Wed, 2012-05-16 at 18:14 +0300, Michael S. Tsirkin wrote: > > On Wed, May 16, 2012 at 08:10:27AM -0700, Shirley Ma wrote: > > > On Wed, 2012-05-16 at 10:58 +0800, Jason Wang wrote: > > > > >> drivers/vhost/vhost.c | 1 + > > > > >> 1 files changed, 1 insertions(+), 0 deletions(-) > > > > >> > > > > >> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > > > > >> index 947f00d..7b75fdf 100644 > > > > >> --- a/drivers/vhost/vhost.c > > > > >> +++ b/drivers/vhost/vhost.c > > > > >> @@ -1604,6 +1604,7 @@ void vhost_zerocopy_callback(void *arg) > > > > >> struct vhost_ubuf_ref *ubufs = ubuf->arg; > > > > >> struct vhost_virtqueue *vq = ubufs->vq; > > > > >> > > > > >> + vhost_poll_queue(&vq->poll); > > > > >> /* set len = 1 to mark this desc buffers done DMA */ > > > > >> vq->heads[ubuf->desc].len = VHOST_DMA_DONE_LEN; > > > > >> kref_put(&ubufs->kref, vhost_zerocopy_done_signal); > > > > > Doing so, we might have redundant vhost_poll_queue(). Do you > > know in > > > > > which scenario there might be missing of adding and signaling > > during > > > > > zerocopy? > > > > > > > > Yes, as we only do signaling and adding during tx work, if there's > > no > > > > tx > > > > work when the skb were sent, we may lose the opportunity to let > > guest > > > > know about the completion. It's easy to be reproduced with netperf > > > > test. > > > > > > The reason which host signals guest is to free guest tx buffers, if > > > there is no tx work, then it's not necessary to signal the guest > > unless > > > guest runs out of memory. The pending buffers will be released > > > virtio_net device gone. > > > > > > What's the behavior of netperf test when you hit this situation? > > > > > > Thanks > > > Shirley > > > > IIRC guest networking seems to be lost. > > It seems vhost_enable_notify is missing in somewhere else? > > Thanks > Shirley Donnu. I see virtio sending packets but they do not get to tun on host. debugging. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel Discussion] [Ethernet Bridging] [Linux Wireless Networking] [Linux Bluetooth Networking] [Linux Networking Users] [VLAN] [Git] [IETF Annouce] [Linux Assembly] [Security] [Bugtraq] [Photo] [Singles Social Networking] [Yosemite Information] [MIPS Linux] [ARM Linux Kernel] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Free Dating]
![]() |
![]() |