From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f182.google.com (mail-pf0-f182.google.com [209.85.192.182]) by dpdk.org (Postfix) with ESMTP id 03D3F914 for ; Fri, 26 Feb 2016 05:30:02 +0100 (CET) Received: by mail-pf0-f182.google.com with SMTP id e127so45047553pfe.3 for ; Thu, 25 Feb 2016 20:30:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=igel-co-jp.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=EztUlnUHogyIcHUgvicKROAHQdJGii6zlNNlmQesNtg=; b=xpl7VHnMctNyqyNvv3eFE9zprl14paiL81hD7emyR40p/bxGDxed1pm4WHMA6IXRLt bylH1sNVfLIld7lbxKG+OdXjFW2TJ1g09j6VP9GD1RoCMrvFGiVDWKTdmDezRk/YGD7S /2/r69GBcyDsGVAFOwLOD3zGG+pA29hZqA4IB1wAFQ5HH3Lb0EWKQUyaAMer8rJfMIyE rz886u8v/BuzftrTvs0IXZQgYAR2VxfitDDjwJ0oSVw0MJWbxLtFAzDp0LKPi4EVg1rN bATPw0reWiG6EflzDu+dreq8Qy7vLnDx0xrCvSivNOqwPw6GZfM+7wzPFGQacDFqlfp/ ssng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=EztUlnUHogyIcHUgvicKROAHQdJGii6zlNNlmQesNtg=; b=C6N1RMqQrKtMg8Ld1GC61pbj0h2fb0ib0D2yTjGtAXg6JMNGlUcY3Tike+fEZv8QPp xGsYC2cq7Yotu8D2HmcSr6gc4ye0KowY+jhnZKsXyg70TD7KP458FdCbpGPtbfgajojt 5r8SLLR0yR8xPalsLcidc6JB9N3r+UlzcLsW3fH8nelgk6b3kGKBt8+Bk3RSRSfT9rFu b/YRoAg/lopcQU+AbFHvx+cCU8+oab3koD4nZiOlPXS9y0k44ud9YANuCZu/5DYlwjWU qRlt50adxr36ZxEYkAbpLGNIF8c5CsneaJmlLE3rFvk67wDwIs4rzIg7meTQxvVBFBqA +VTw== X-Gm-Message-State: AG10YOTQqWWhZEGS78jbyOT2u5+eUIHwGtrx2dHgeQAzFNhol7rxqHD5fHy7txI6m0ZUiQ== X-Received: by 10.98.15.19 with SMTP id x19mr68683390pfi.60.1456461001330; Thu, 25 Feb 2016 20:30:01 -0800 (PST) Received: from [10.16.129.101] (napt.igel.co.jp. [219.106.231.132]) by smtp.googlemail.com with ESMTPSA id d8sm15530045pas.14.2016.02.25.20.29.59 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 25 Feb 2016 20:30:00 -0800 (PST) To: "Qiu, Michael" , "dev@dpdk.org" References: <1454671693-3886-3-git-send-email-mukawa@igel.co.jp> <1455010686-21802-1-git-send-email-mukawa@igel.co.jp> <533710CFB86FA344BFBF2D6802E6028622F52FF8@SHSMSX101.ccr.corp.intel.com> <56CD3B27.1080706@igel.co.jp> <533710CFB86FA344BFBF2D6802E6028622F559E7@SHSMSX101.ccr.corp.intel.com> From: Tetsuya Mukawa X-Enigmail-Draft-Status: N1110 Message-ID: <56CFD4C5.1090008@igel.co.jp> Date: Fri, 26 Feb 2016 13:29:57 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <533710CFB86FA344BFBF2D6802E6028622F559E7@SHSMSX101.ccr.corp.intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: "ann.zhuangyanying@huawei.com" , "Liu, Yuanhan" Subject: Re: [dpdk-dev] [PATCH v9 0/2] Add VHOST PMD 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, 26 Feb 2016 04:30:02 -0000 On 2016/02/25 16:51, Qiu, Michael wrote: > On 2/24/2016 1:10 PM, Tetsuya Mukawa wrote: >> On 2016/02/24 11:45, Qiu, Michael wrote: >>> Hi, Tetsuya >>> >>> When I applied your v6 patch, I could reach 9.5Mpps with 64B packet. >>> >>> But when apply v9 only 8.4 Mpps, could you figure out why has >>> performance drop? >> Hi Michael, >> >> Thanks for checking it. >> I tried to re-produce it, but I don't see the drop on my environment. >> (My cpu is Xeon E5-2697-v2, and the performances of v6 and v9 patch are >> almost 5.9Mpps) >> Did you use totally same code except for vhost PMD? > Yes, totally same code and same platform, only difference is versions of > vhost PMD. > > BTW, I have set the frontend mergeable off. I have checked below cases. - Case1: Disable mergeable feature in virtio-net PMD. - Case2: Disable mergeable feature in virtio-net PMD and use '--txqflags=0xf01' option to use simple ring deploying. Both cases, I still cannot see the drop. Anyway, I will send a few patch-series to determine the cause of drop. So, could you please apply them and check the performance to determine which cause the drop? Thanks, Tetsuya > Thanks, > Michael >> Thanks, >> Tetsuya >> >>> Thanks, >>> Michael >>> On 2/9/2016 5:38 PM, Tetsuya Mukawa wrote: >>>> The patch introduces a new PMD. This PMD is implemented as thin wrapper >>>> of librte_vhost. >>>> >>>> >>>> PATCH v9 changes: >>>> - Fix a null pointer access issue implemented in v8 patch. >>>> >>>> PATCH v8 changes: >>>> - Manage ether devices list instead of internal structures list. >>>> - Remove needless NULL checking. >>>> - Replace "pthread_exit" to "return NULL". >>>> - Replace rte_panic to RTE_LOG, also add error handling. >>>> - Remove duplicated lines. >>>> - Remove needless casting. >>>> - Follow coding style. >>>> - Remove needless parenthesis. >>>> >>>> PATCH v7 changes: >>>> - Remove needless parenthesis. >>>> - Add release note. >>>> - Remove needless line wraps. >>>> - Add null pointer check in vring_state_changed(). >>>> - Free queue memory in eth_queue_release(). >>>> - Fix wrong variable name. >>>> - Fix error handling code of eth_dev_vhost_create() and >>>> rte_pmd_vhost_devuninit(). >>>> - Remove needless null checking from rte_pmd_vhost_devinit/devuninit(). >>>> - Use port id to create mac address. >>>> - Add doxygen style comments in "rte_eth_vhost.h". >>>> - Fix wrong comment in "mk/rte.app.mk". >>>> >>>> PATCH v6 changes: >>>> - Remove rte_vhost_driver_pmd_callback_registe(). >>>> - Support link status interrupt. >>>> - Support queue state changed interrupt. >>>> - Add rte_eth_vhost_get_queue_event(). >>>> - Support numa node detection when new device is connected. >>>> >>>> PATCH v5 changes: >>>> - Rebase on latest master. >>>> - Fix RX/TX routine to count RX/TX bytes. >>>> - Fix RX/TX routine not to count as error packets if enqueue/dequeue >>>> cannot send all packets. >>>> - Fix if-condition checking for multiqueues. >>>> - Add "static" to pthread variable. >>>> - Fix format. >>>> - Change default behavior not to receive queueing event from driver. >>>> - Split the patch to separate rte_eth_vhost_portid2vdev(). >>>> >>>> PATCH v4 changes: >>>> - Rebase on latest DPDK tree. >>>> - Fix cording style. >>>> - Fix code not to invoke multiple messaging handling threads. >>>> - Fix code to handle vdev parameters correctly. >>>> - Remove needless cast. >>>> - Remove needless if-condition before rt_free(). >>>> >>>> PATCH v3 changes: >>>> - Rebase on latest matser >>>> - Specify correct queue_id in RX/TX function. >>>> >>>> PATCH v2 changes: >>>> - Remove a below patch that fixes vhost library. >>>> The patch was applied as a separate patch. >>>> - vhost: fix crash with multiqueue enabled >>>> - Fix typos. >>>> (Thanks to Thomas, Monjalon) >>>> - Rebase on latest tree with above bernard's patches. >>>> >>>> PATCH v1 changes: >>>> - Support vhost multiple queues. >>>> - Rebase on "remove pci driver from vdevs". >>>> - Optimize RX/TX functions. >>>> - Fix resource leaks. >>>> - Fix compile issue. >>>> - Add patch to fix vhost library. >>>> >>>> RFC PATCH v3 changes: >>>> - Optimize performance. >>>> In RX/TX functions, change code to access only per core data. >>>> - Add below API to allow user to use vhost library APIs for a port managed >>>> by vhost PMD. There are a few limitations. See "rte_eth_vhost.h". >>>> - rte_eth_vhost_portid2vdev() >>>> To support this functionality, vhost library is also changed. >>>> Anyway, if users doesn't use vhost PMD, can fully use vhost library APIs. >>>> - Add code to support vhost multiple queues. >>>> Actually, multiple queues functionality is not enabled so far. >>>> >>>> RFC PATCH v2 changes: >>>> - Fix issues reported by checkpatch.pl >>>> (Thanks to Stephen Hemminger) >>>> >>>> >>>> Tetsuya Mukawa (2): >>>> ethdev: Add a new event type to notify a queue state changed event >>>> vhost: Add VHOST PMD >>>> >>>> MAINTAINERS | 4 + >>>> config/common_linuxapp | 6 + >>>> doc/guides/nics/index.rst | 1 + >>>> doc/guides/rel_notes/release_2_3.rst | 4 + >>>> drivers/net/Makefile | 4 + >>>> drivers/net/vhost/Makefile | 62 ++ >>>> drivers/net/vhost/rte_eth_vhost.c | 911 ++++++++++++++++++++++++++++ >>>> drivers/net/vhost/rte_eth_vhost.h | 109 ++++ >>>> drivers/net/vhost/rte_pmd_vhost_version.map | 11 + >>>> lib/librte_ether/rte_ethdev.h | 2 + >>>> mk/rte.app.mk | 6 + >>>> 11 files changed, 1120 insertions(+) >>>> create mode 100644 drivers/net/vhost/Makefile >>>> create mode 100644 drivers/net/vhost/rte_eth_vhost.c >>>> create mode 100644 drivers/net/vhost/rte_eth_vhost.h >>>> create mode 100644 drivers/net/vhost/rte_pmd_vhost_version.map >>>>