From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [119.145.14.64]) by dpdk.org (Postfix) with ESMTP id 385DB255 for ; Thu, 29 Jan 2015 14:51:11 +0100 (CET) Received: from 172.24.2.119 (EHLO szxeml428-hub.china.huawei.com) ([172.24.2.119]) by szxrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CIS87482; Thu, 29 Jan 2015 21:51:05 +0800 (CST) Received: from [127.0.0.1] (10.177.19.115) by szxeml428-hub.china.huawei.com (10.82.67.183) with Microsoft SMTP Server id 14.3.158.1; Thu, 29 Jan 2015 21:51:00 +0800 Message-ID: <54CA3ABF.3010203@huawei.com> Date: Thu, 29 Jan 2015 21:50:55 +0800 From: Linhaifeng User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 MIME-Version: 1.0 To: "Xie, Huawei" , "dev@dpdk.org" References: <1422527404-12424-1-git-send-email-haifeng.lin@huawei.com> <54CA29F4.8080108@huawei.com> In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.19.115] X-CFilter-Loop: Reflected Subject: Re: [dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there is no buffer X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jan 2015 13:51:15 -0000 On 2015/1/29 21:00, Xie, Huawei wrote: > > >> -----Original Message----- >> From: Linhaifeng [mailto:haifeng.lin@huawei.com] >> Sent: Thursday, January 29, 2015 8:39 PM >> To: Xie, Huawei; dev@dpdk.org >> Subject: Re: [dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there is >> no buffer >> >> >> >> On 2015/1/29 18:39, Xie, Huawei wrote: >> >>>> - if (count == 0) >>>> + /* If there is no buffers we should notify guest to fill. >>>> + * This is need when guest use virtio_net driver(not pmd). >>>> + */ >>>> + if (count == 0) { >>>> + if (!(vq->avail->flags & >>>> VRING_AVAIL_F_NO_INTERRUPT)) >>>> + eventfd_write((int)vq->kickfd, 1); >>>> return 0; >>>> + } >>> >>> Haifeng: >>> Is it the root cause and is it protocol required? >>> Could you give a detailed description for that scenario? >>> >> >> I use mz to send data from one VM1 to VM2.The two VM use virtio-net driver. >> VM1 execute follow script: >> for((i=0;i<999999999;i++)); >> do >> mz eth0 -t udp -A 1.1.1.1 -B 1.1.1.2 -a 00:00:00:00:00:01 -b 00:00:00:00:00:02 -c >> 10000000 -p 512 >> sleep 4 >> done >> >> VM2 execute follow command to watch: >> watch -d ifconfig >> >> After many hours VM2 stop to receive data. >> >> Could you test it ? > > > We could try next week after I send the whole patch. > How many hours? Is it reproducible at your side? I inject packets through packet generator to guest for more than ten hours, haven't met issues. About three hours. What kind of driver you used in guest?virtio-net-pmd or virtio-net? > As I said in another mail sent to you, could you dump the status of vring if you still have the spot? How to dump the status of vring in guest? > Could you please also reply to that mail? > Which mail? > For the patch, if we have no root cause, I prefer not to apply it, so that we don't send more interrupts than needed to guest to affect performance. I found that if we add this notify the performance is better(growth of 100kpps when use 64byte UDP packets) > People could temporarily apply this patch as a work around. > > Or anyone > OK.I'm also not sure about this bug.I think i should do something to found the real reason. > >> -- >> Regards, >> Haifeng > > > -- Regards, Haifeng