From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id DC8CED072 for ; Tue, 17 Apr 2018 04:24:06 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Apr 2018 19:24:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,461,1517904000"; d="scan'208";a="220969623" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga006.fm.intel.com with ESMTP; 16 Apr 2018 19:24:04 -0700 Received: from fmsmsx122.amr.corp.intel.com (10.18.125.37) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 16 Apr 2018 19:24:04 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx122.amr.corp.intel.com (10.18.125.37) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 16 Apr 2018 19:24:04 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.79]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.6]) with mapi id 14.03.0319.002; Tue, 17 Apr 2018 10:24:02 +0800 From: "Zhang, Qi Z" To: "Tan, Jianfeng" , "dev@dpdk.org" CC: "thomas@monjalon.net" , "Tan, Jianfeng" Thread-Topic: [dpdk-dev] [PATCH v2 0/5] allow procinfo and pdump on eth vdev Thread-Index: AQHTzQWks0j+vr8nNkS6X/6w1A2HAqQEMQsw Date: Tue, 17 Apr 2018 02:24:02 +0000 Message-ID: <039ED4275CED7440929022BC67E7061153196A3A@shsmsx102.ccr.corp.intel.com> References: <1522950303-17206-1-git-send-email-jianfeng.tan@intel.com> In-Reply-To: <1522950303-17206-1-git-send-email-jianfeng.tan@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjlhODg1MzctZTVjZC00YWM0LThhOWUtNTJkZDdhNTk5MDExIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJNZ1VwQVpmTkpiQjF2UGJcLzRcL2hRZlJEU3ZBMExLbGVmK0JncEhoZ0xtaEFVbVwvbDNVXC9YVGpGY0pWWDVGdXRGViJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action 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 v2 0/5] allow procinfo and pdump on eth vdev 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, 17 Apr 2018 02:24:07 -0000 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jianfeng Tan > Sent: Friday, April 6, 2018 1:45 AM > To: dev@dpdk.org > Cc: thomas@monjalon.net; Tan, Jianfeng > Subject: [dpdk-dev] [PATCH v2 0/5] allow procinfo and pdump on eth vdev >=20 > v2: > - Add spinlock for vdev device list as suggested by Anatoly. > - Add ring, cxgbe and remove the free in each PMDs as suggested by > Matan. > - Rebase on master. >=20 > As we know, we have below limitations in vdev: > - dpdk-procinfo cannot get the stats of (most) vdev in primary process; > - dpdk-pdump cannot dump the packets for (most) vdev in primary proces; > - secondary process cannot use (most) vdev in primary process. >=20 > The very first reason is that the secondary process actually does not kno= w the > existence of those vdevs as vdevs are chained on a linked list, and not > shareable to secondary. >=20 > In this patch series, we would like to propose a vdev sharing model like = this: > - As a secondary process boots, all devices (including vdev) in primary > will be automatically shared. After both primary and secondary proces= s > booted, > - Device add/remove in primary will be translated to device hog > plug/unplug > event in secondary processes. (TODO) > - Device add in secondary > * If that kind of device support multi-process, the secondary will > request the primary to probe the device and the primary to share > it to the secondary. It's not necessary to have secondary-private > device in this case. (TODO) > * If that kind of device does not support multi-process, the secondar= y > will probe the device by itself, and the port id is shared among > all primary/secondary processes. >=20 > This patch series don't: > - provide secondary data path (Rx/Tx) support for each specific vdev. >=20 > How to test: >=20 > Step 0: start testpmd with a vhost port; and a VM connected to the vhost > port. >=20 > Step 1: try using dpdk-procinfo to get the stats. > $(dpdk-procinfo) --log-level=3D8 --no-pci -- --stats >=20 > Step 2: try using dpdk-pdump to dump the packets. > $(dpdk-pdump) -- --pdump 'port=3D0,queue=3D*,rx-dev=3D/tmp/rx.pcap' >=20 > Jianfeng Tan (5): > eal: bring forward multi-process channel init > bus/vdev: add lock on vdev device list > bus/vdev: bus scan by multi-process channel > drivers/net: not use private eth dev data > drivers/net: share vdev data to secondary process >=20 > drivers/bus/vdev/Makefile | 1 + > drivers/bus/vdev/vdev.c | 187 > ++++++++++++++++++++++++++---- > drivers/net/af_packet/rte_eth_af_packet.c | 43 +++---- > drivers/net/bonding/rte_eth_bond_pmd.c | 13 +++ > drivers/net/cxgbe/cxgbe_main.c | 1 - > drivers/net/failsafe/failsafe.c | 14 +++ > drivers/net/kni/rte_eth_kni.c | 26 +++-- > drivers/net/null/rte_eth_null.c | 32 ++--- > drivers/net/octeontx/octeontx_ethdev.c | 29 ++--- > drivers/net/pcap/rte_eth_pcap.c | 32 ++--- > drivers/net/ring/rte_eth_ring.c | 17 +-- > drivers/net/softnic/rte_eth_softnic.c | 19 ++- > drivers/net/tap/rte_eth_tap.c | 24 ++-- > drivers/net/vhost/rte_eth_vhost.c | 36 +++--- > lib/librte_eal/bsdapp/eal/eal.c | 23 ++-- > lib/librte_eal/linuxapp/eal/eal.c | 23 ++-- > 16 files changed, 354 insertions(+), 166 deletions(-) >=20 > -- > 2.7.4 Reviewed-by: Qi Zhang Also tested with af_packet and dpdk-procinfo / dpdk-dump, patches works as = expected. Regards Qi