From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by dpdk.org (Postfix) with ESMTP id D697D5599 for ; Tue, 6 Jun 2017 16:44:16 +0200 (CEST) Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v56Ehles141124 for ; Tue, 6 Jun 2017 10:44:16 -0400 Received: from e23smtp06.au.ibm.com (e23smtp06.au.ibm.com [202.81.31.148]) by mx0b-001b2d01.pphosted.com with ESMTP id 2awx18saj5-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 06 Jun 2017 10:44:15 -0400 Received: from localhost by e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 7 Jun 2017 00:44:12 +1000 Received: from d23relay08.au.ibm.com (202.81.31.227) by e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 7 Jun 2017 00:44:11 +1000 Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay08.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v56Ei3tD6553948 for ; Wed, 7 Jun 2017 00:44:11 +1000 Received: from d23av04.au.ibm.com (localhost [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id v56EhbSg017147 for ; Wed, 7 Jun 2017 00:43:37 +1000 Received: from [9.84.220.16] ([9.84.220.16]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id v56EhZnG016711; Wed, 7 Jun 2017 00:43:36 +1000 To: Ferruh Yigit Cc: dev@dpdk.org References: <1494502172-16950-1-git-send-email-gowrishankar.m@linux.vnet.ibm.com> <1494503486-20876-1-git-send-email-gowrishankar.m@linux.vnet.ibm.com> <6466d914-f47f-1ecc-6fec-656893457663@intel.com> <82c75bc8-644a-1aa9-4a6b-60061633108d@intel.com> <625f5ec7-2a01-eb93-684d-685417e8003a@intel.com> From: gowrishankar muthukrishnan Date: Tue, 6 Jun 2017 20:13:15 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <625f5ec7-2a01-eb93-684d-685417e8003a@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB X-TM-AS-MML: disable x-cbid: 17060614-0040-0000-0000-00000326B22C X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17060614-0041-0000-0000-00000CA000ED Message-Id: <079635d4-1e78-29a9-180d-f53c4653bbc8@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-06-06_11:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1706060249 Subject: Re: [dpdk-dev] [PATCH v2] kni: add new mbuf in alloc_q only based on its empty slots X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 14:44:17 -0000 Hi Ferruh, Just wanted to check with you on the verdict of this patch, whether we are waiting for any objection/ack ?. Thanks, Gowrishankar On Thursday 01 June 2017 02:48 PM, Ferruh Yigit wrote: > On 6/1/2017 6:56 AM, gowrishankar muthukrishnan wrote: >> Hi Ferruh, >> >> On Wednesday 31 May 2017 09:51 PM, Ferruh Yigit wrote: >> >>> I have sampled below data in x86_64 for KNI on ixgbe pmd. iperf server >>>> runs on >>>> remote interface connecting PMD and iperf client runs on KNI interface, >>>> so as to >>>> create more egress from KNI into DPDK (w/o and with this patch) for 1MB and >>>> 100MB data. rx and tx stats are from kni app (USR1). >>>> >>>> 100MB w/o patch 1.28Gbps >>>> rx tx alloc_call alloc_call_mt1tx freembuf_call >>>> 3933 72464 51042 42472 1560540 >>> Some math: >>> >>> alloc called 51042 times with allocating 32 mbufs each time, >>> 51042 * 32 = 1633344 >>> >>> freed mbufs: 1560540 >>> >>> used mbufs: 1633344 - 1560540 = 72804 >>> >>> 72804 =~ 72464, so looks correct. >>> >>> Which means rte_kni_rx_burst() called 51042 times and 72464 buffers >>> received. >>> >>> As you already mentioned, for each call kernel able to put only 1-2 >>> packets into the fifo. This number is close to 3 for my test with KNI PMD. >>> >>> And for this case, agree your patch looks reasonable. >>> >>> But what if kni has more egress traffic, that able to put >= 32 packets >>> between each rte_kni_rx_burst()? >>> For that case this patch introduces extra cost to get allocq_free count. >> Are there case(s) we see kernel thread writing txq faster at a rate >> higher than kni application >> could dequeue it ?. In my understanding, KNI is suppose to be a slow >> path as it puts >> packets back into network stack (control plane ?). > Kernel thread doesn't need to be faster than what app can dequeue, it > is enough if kernel thread can put 32 or more packets for this case, but > I see this goes to same place. > > And for kernel multi-thread mode, each kernel thread has more time to > enqueue packets, although I don't have the numbers. > >> Regards, >> Gowrishankar >> >>> Overall I am not disagree with patch, but I have concern if this would >>> cause performance loss some cases while making better for this one. That >>> would help a lot if KNI users test and comment. >>> >>> For me, applying patch didn't give any difference in final performance >>> numbers, but if there is no objection, I am OK to get this patch. >>> >>> >> >>