From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 904705A81 for ; Fri, 30 Jan 2015 09:20:43 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP; 30 Jan 2015 00:17:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,491,1418112000"; d="scan'208";a="520097737" Received: from pgsmsx101.gar.corp.intel.com ([10.221.44.78]) by orsmga003.jf.intel.com with ESMTP; 30 Jan 2015 00:13:23 -0800 Received: from kmsmsx154.gar.corp.intel.com (172.21.73.14) by PGSMSX101.gar.corp.intel.com (10.221.44.78) with Microsoft SMTP Server (TLS) id 14.3.195.1; Fri, 30 Jan 2015 16:20:35 +0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by KMSMSX154.gar.corp.intel.com (172.21.73.14) with Microsoft SMTP Server (TLS) id 14.3.195.1; Fri, 30 Jan 2015 16:20:34 +0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.124]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.168]) with mapi id 14.03.0195.001; Fri, 30 Jan 2015 16:20:34 +0800 From: "Xu, Qian Q" To: Linhaifeng , "Xie, Huawei" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there is no buffer Thread-Index: AQHQO67XTRFGuodsU0WEcb2WzD895JzWYlWAgAAhYACAAAXrgIAADhqAgAG6qGA= Date: Fri, 30 Jan 2015 08:20:32 +0000 Message-ID: <82F45D86ADE5454A95A89742C8D1410E01C9FC50@shsmsx102.ccr.corp.intel.com> References: <1422527404-12424-1-git-send-email-haifeng.lin@huawei.com> <54CA29F4.8080108@huawei.com> <54CA3ABF.3010203@huawei.com> In-Reply-To: <54CA3ABF.3010203@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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: Fri, 30 Jan 2015 08:20:44 -0000 Haifeng Could you give more information so that we can reproduce your issue? Thanks= .=20 1. What's your dpdk package, based on which branch, with Huawei's vhost-use= r's patches?=20 2. What's your step and command to launch vhost sample?=20 3. What is mz? Your internal tool? I can't yum install mz or download mz to= ol.=20 4. As to your test scenario, I understand it in this way: virtio1 in VM1, v= irtio2 in VM2, then let virtio1 send packages to virtio2, the problem is th= at after 3 hours, virtio2 can't receive packets, but virtio1 is still sendi= ng packets, am I right? So mz is like a packet generator to send packets, r= ight?=20 -----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Linhaifeng Sent: Thursday, January 29, 2015 9:51 PM To: Xie, Huawei; dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] vhost: notify guest to fill buffer when the= re is no buffer On 2015/1/29 21:00, Xie, Huawei wrote: >=20 >=20 >> -----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=20 >> when there is no buffer >> >> >> >> On 2015/1/29 18:39, Xie, Huawei wrote: >> >>>> - if (count =3D=3D 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 =3D=3D 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 driv= er. >> VM1 execute follow script: >> for((i=3D0;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=20 >> 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 ? >=20 >=20 > We could try next week after I send the whole patch.=20 > 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.=20 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 vrin= g 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 tha= t 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 100k= pps when use 64byte UDP packets) > People could temporarily apply this patch as a work around. >=20 > Or anyone >=20 OK.I'm also not sure about this bug.I think i should do something to found = the real reason. >=20 >> -- >> Regards, >> Haifeng >=20 >=20 >=20 --=20 Regards, Haifeng