From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Qi Z" Subject: Re: [PATCH v2 0/5] allow procinfo and pdump on eth vdev 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> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "thomas@monjalon.net" , "Tan, Jianfeng" To: "Tan, Jianfeng" , "dev@dpdk.org" 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) In-Reply-To: <1522950303-17206-1-git-send-email-jianfeng.tan@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----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