From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <michael.qiu@intel.com>
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by dpdk.org (Postfix) with ESMTP id AD0A62B9E
 for <dev@dpdk.org>; Wed, 24 Feb 2016 03:45:38 +0100 (CET)
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by fmsmga103.fm.intel.com with ESMTP; 23 Feb 2016 18:45:18 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.22,492,1449561600"; d="scan'208";a="893260462"
Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203])
 by orsmga001.jf.intel.com with ESMTP; 23 Feb 2016 18:45:18 -0800
Received: from fmsmsx121.amr.corp.intel.com (10.18.125.36) by
 FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS)
 id 14.3.248.2; Tue, 23 Feb 2016 18:45:17 -0800
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
 fmsmsx121.amr.corp.intel.com (10.18.125.36) with Microsoft SMTP Server (TLS)
 id 14.3.248.2; Tue, 23 Feb 2016 18:45:17 -0800
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.136]) by
 shsmsx102.ccr.corp.intel.com ([169.254.2.232]) with mapi id 14.03.0248.002;
 Wed, 24 Feb 2016 10:45:15 +0800
From: "Qiu, Michael" <michael.qiu@intel.com>
To: Tetsuya Mukawa <mukawa@igel.co.jp>, "dev@dpdk.org" <dev@dpdk.org>,
 "Yigit, Ferruh" <ferruh.yigit@intel.com>
Thread-Topic: [dpdk-dev] [PATCH v9 0/2] Add VHOST PMD
Thread-Index: AQHRYx2kdI+zya1GfEi4PR/SuMHgdw==
Date: Wed, 24 Feb 2016 02:45:14 +0000
Message-ID: <533710CFB86FA344BFBF2D6802E6028622F52FF8@SHSMSX101.ccr.corp.intel.com>
References: <1454671693-3886-3-git-send-email-mukawa@igel.co.jp>
 <1455010686-21802-1-git-send-email-mukawa@igel.co.jp>
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
Cc: "ann.zhuangyanying@huawei.com" <ann.zhuangyanying@huawei.com>, "Liu,
 Yuanhan" <yuanhan.liu@intel.com>
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Feb 2016 02:45:39 -0000

Hi,  Tetsuya=0A=
=0A=
When I applied your v6 patch, I could reach 9.5Mpps with 64B packet.=0A=
=0A=
But when apply v9 only 8.4 Mpps, could you figure out why has=0A=
performance drop?=0A=
=0A=
Thanks,=0A=
Michael=0A=
On 2/9/2016 5:38 PM, Tetsuya Mukawa wrote:=0A=
> The patch introduces a new PMD. This PMD is implemented as thin wrapper=
=0A=
> of librte_vhost.=0A=
>=0A=
>=0A=
> PATCH v9 changes:=0A=
>  - Fix a null pointer access issue implemented in v8 patch.=0A=
>=0A=
> PATCH v8 changes:=0A=
>  - Manage ether devices list instead of internal structures list.=0A=
>  - Remove needless NULL checking.=0A=
>  - Replace "pthread_exit" to "return NULL".=0A=
>  - Replace rte_panic to RTE_LOG, also add error handling.=0A=
>  - Remove duplicated lines.=0A=
>  - Remove needless casting.=0A=
>  - Follow coding style.=0A=
>  - Remove needless parenthesis.=0A=
>=0A=
> PATCH v7 changes:=0A=
>  - Remove needless parenthesis.=0A=
>  - Add release note.=0A=
>  - Remove needless line wraps.=0A=
>  - Add null pointer check in vring_state_changed().=0A=
>  - Free queue memory in eth_queue_release().=0A=
>  - Fix wrong variable name.=0A=
>  - Fix error handling code of eth_dev_vhost_create() and=0A=
>    rte_pmd_vhost_devuninit().=0A=
>  - Remove needless null checking from rte_pmd_vhost_devinit/devuninit().=
=0A=
>  - Use port id to create mac address.=0A=
>  - Add doxygen style comments in "rte_eth_vhost.h".=0A=
>  - Fix wrong comment in "mk/rte.app.mk".=0A=
>=0A=
> PATCH v6 changes:=0A=
>  - Remove rte_vhost_driver_pmd_callback_registe().=0A=
>  - Support link status interrupt.=0A=
>  - Support queue state changed interrupt.=0A=
>  - Add rte_eth_vhost_get_queue_event().=0A=
>  - Support numa node detection when new device is connected.=0A=
>=0A=
> PATCH v5 changes:=0A=
>  - Rebase on latest master.=0A=
>  - Fix RX/TX routine to count RX/TX bytes.=0A=
>  - Fix RX/TX routine not to count as error packets if enqueue/dequeue=0A=
>    cannot send all packets.=0A=
>  - Fix if-condition checking for multiqueues.=0A=
>  - Add "static" to pthread variable.=0A=
>  - Fix format.=0A=
>  - Change default behavior not to receive queueing event from driver.=0A=
>  - Split the patch to separate rte_eth_vhost_portid2vdev().=0A=
>=0A=
> PATCH v4 changes:=0A=
>  - Rebase on latest DPDK tree.=0A=
>  - Fix cording style.=0A=
>  - Fix code not to invoke multiple messaging handling threads.=0A=
>  - Fix code to handle vdev parameters correctly.=0A=
>  - Remove needless cast.=0A=
>  - Remove needless if-condition before rt_free().=0A=
>=0A=
> PATCH v3 changes:=0A=
>  - Rebase on latest matser=0A=
>  - Specify correct queue_id in RX/TX function.=0A=
>=0A=
> PATCH v2 changes:=0A=
>  - Remove a below patch that fixes vhost library.=0A=
>    The patch was applied as a separate patch.=0A=
>    - vhost: fix crash with multiqueue enabled=0A=
>  - Fix typos.=0A=
>    (Thanks to Thomas, Monjalon)=0A=
>  - Rebase on latest tree with above bernard's patches.=0A=
>=0A=
> PATCH v1 changes:=0A=
>  - Support vhost multiple queues.=0A=
>  - Rebase on "remove pci driver from vdevs".=0A=
>  - Optimize RX/TX functions.=0A=
>  - Fix resource leaks.=0A=
>  - Fix compile issue.=0A=
>  - Add patch to fix vhost library.=0A=
>=0A=
> RFC PATCH v3 changes:=0A=
>  - Optimize performance.=0A=
>    In RX/TX functions, change code to access only per core data.=0A=
>  - Add below API to allow user to use vhost library APIs for a port manag=
ed=0A=
>    by vhost PMD. There are a few limitations. See "rte_eth_vhost.h".=0A=
>     - rte_eth_vhost_portid2vdev()=0A=
>    To support this functionality, vhost library is also changed.=0A=
>    Anyway, if users doesn't use vhost PMD, can fully use vhost library AP=
Is.=0A=
>  - Add code to support vhost multiple queues.=0A=
>    Actually, multiple queues functionality is not enabled so far.=0A=
>=0A=
> RFC PATCH v2 changes:=0A=
>  - Fix issues reported by checkpatch.pl=0A=
>    (Thanks to Stephen Hemminger)=0A=
>=0A=
>=0A=
> Tetsuya Mukawa (2):=0A=
>   ethdev: Add a new event type to notify a queue state changed event=0A=
>   vhost: Add VHOST PMD=0A=
>=0A=
>  MAINTAINERS                                 |   4 +=0A=
>  config/common_linuxapp                      |   6 +=0A=
>  doc/guides/nics/index.rst                   |   1 +=0A=
>  doc/guides/rel_notes/release_2_3.rst        |   4 +=0A=
>  drivers/net/Makefile                        |   4 +=0A=
>  drivers/net/vhost/Makefile                  |  62 ++=0A=
>  drivers/net/vhost/rte_eth_vhost.c           | 911 ++++++++++++++++++++++=
++++++=0A=
>  drivers/net/vhost/rte_eth_vhost.h           | 109 ++++=0A=
>  drivers/net/vhost/rte_pmd_vhost_version.map |  11 +=0A=
>  lib/librte_ether/rte_ethdev.h               |   2 +=0A=
>  mk/rte.app.mk                               |   6 +=0A=
>  11 files changed, 1120 insertions(+)=0A=
>  create mode 100644 drivers/net/vhost/Makefile=0A=
>  create mode 100644 drivers/net/vhost/rte_eth_vhost.c=0A=
>  create mode 100644 drivers/net/vhost/rte_eth_vhost.h=0A=
>  create mode 100644 drivers/net/vhost/rte_pmd_vhost_version.map=0A=
>=0A=
=0A=