From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by dpdk.org (Postfix) with ESMTP id 2F79B29CA for ; Tue, 12 Sep 2017 09:47:07 +0200 (CEST) Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v8C7j8eV143832 for ; Tue, 12 Sep 2017 03:47:07 -0400 Received: from e23smtp03.au.ibm.com (e23smtp03.au.ibm.com [202.81.31.145]) by mx0a-001b2d01.pphosted.com with ESMTP id 2cx8bttfj4-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 12 Sep 2017 03:47:06 -0400 Received: from localhost by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 12 Sep 2017 17:47:01 +1000 Received: from d23relay06.au.ibm.com (202.81.31.225) by e23smtp03.au.ibm.com (202.81.31.209) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 12 Sep 2017 17:46:59 +1000 Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay06.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v8C7kxmJ40501296 for ; Tue, 12 Sep 2017 17:46:59 +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 v8C7l17X030065 for ; Tue, 12 Sep 2017 17:47:01 +1000 Received: from ADMINIB2M8Q79C (adminib-2m8q79c.crl.ibm.com [9.186.50.172]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id v8C7kx1T029979; Tue, 12 Sep 2017 17:46:59 +1000 From: "Chao Zhu" To: "'Xueming\(Steven\) Li'" Cc: References: In-Reply-To: Date: Tue, 12 Sep 2017 15:46:56 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQI7e0y7cgRj8OSpzD1cpvnTxl0/KaHgP/WA Content-Language: zh-cn X-TM-AS-MML: disable x-cbid: 17091207-0008-0000-0000-000001574C83 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17091207-0009-0000-0000-0000098B7FA7 Message-Id: <000501d32b9b$4fffdd50$efff97f0$@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-09-12_03:, , 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-1707230000 definitions=main-1709120106 Subject: Re: [dpdk-dev] multi-process shared memory on PPC 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, 12 Sep 2017 07:47:08 -0000 Which version are you using? > -----Original Message----- > From: Xueming(Steven) Li [mailto:xuemingl@mellanox.com] > Sent: 2017=C4=EA8=D4=C231=C8=D5 22:40 > To: Chao Zhu > Cc: dev@dpdk.org > Subject: multi-process shared memory on PPC >=20 > Hi all, >=20 > I'm testing multi-process example on PowerPC system, looks like shared > memory not working properly. > Below are the error and debug info of the first multi-process example > 'simple_mp' (works as expected on X86): >=20 > // Build DPDK, master branch > # make T=3Dppc_64-power8-linuxapp-gcc -j160 -C > examples/multi_process/simple_mp/ # > examples/multi_process/simple_mp/build/simple_mp -w 0:0.0 > --proc-type=3Dprimary -l 1-2 --socket-mem > 256,256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,256 > APP: Finished Process Init. > Starting core 2 > simple_mp > >=20 > // Open another terminal and run secondary process # gdb --args > examples/multi_process/simple_mp/build/simple_mp -n 4 -w 0:0.0 > --proc-type=3Dsecondary -l 3-4 --socket-mem > 256,256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,256 > GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1 Copyright (C) 2016 Free > Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > = = tml&d=3DDwIFAg&c=3Djf_iaSHvJObTbx-siA1ZOg&r=3D4TYe4NpqlgVi0ArYpZ76FrWp7IE= > w8gfzq7k4itCX_Mg&m=3Dlz_1z0LzwjqjIwuuryoN7QPg9N-6aTY_jEvDZtMZR0o&s > =3DSbDQBN7qJ9z8fWCSePyvm5FFncp2P_9XZm-qs1lH5PE&e=3D > This is free > software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show = copying" > and "show warranty" for details. > This GDB was configured as "powerpc64le-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > = = e_gdb_bugs_&d=3DDwIFAg&c=3Djf_iaSHvJObTbx-siA1ZOg&r=3D4TYe4NpqlgVi0ArYpZ > 76FrWp7IEw8gfzq7k4itCX_Mg&m=3Dlz_1z0LzwjqjIwuuryoN7QPg9N-6aTY_jEvDZt > MZR0o&s=3DGAFKK3jSahAPFXMGcPGbVNTl0CesJy_qfs5TxXfGOX0&e=3D >. > Find the GDB manual and other documentation resources online at: > = = e_gdb_documentation_&d=3DDwIFAg&c=3Djf_iaSHvJObTbx-siA1ZOg&r=3D4TYe4Npql > gVi0ArYpZ76FrWp7IEw8gfzq7k4itCX_Mg&m=3Dlz_1z0LzwjqjIwuuryoN7QPg9N-6a > TY_jEvDZtMZR0o&s=3DJdkMMjGGl-3Z3BGnjCkOFP5lI5BIbRNBxH4EVI70YFc&e=3D > > . > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from > examples/multi_process/simple_mp/build/simple_mp...done. > (gdb) r > Starting program: > /home/xueming/mlnx-dpdk.org/examples/multi_process/simple_mp/build/sim > ple_mp -n 4 -w 0:0.0 --proc-type=3Dsecondary -l 3-4 --socket-mem > 256,256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,256 > [Thread debugging using libthread_db enabled] Using host libthread_db library > "/lib/powerpc64le-linux-gnu/libthread_db.so.1". > EAL: Detected 144 lcore(s) > EAL: Probing VFIO support... > [New Thread 0x7ffff7a6eff0 (LWP 58811)] > [New Thread 0x7ffff726eff0 (LWP 58812)] >=20 > Thread 1 "simple_mp" received signal SIGSEGV, Segmentation fault. > 0x00007ffff7d2f3ec in ?? () from /lib/powerpc64le-linux-gnu/libc.so.6 > (gdb) bt full > #0 0x00007ffff7d2f3ec in ?? () from = /lib/powerpc64le-linux-gnu/libc.so.6 > No symbol table info available. > #1 0x0000000010077d54 in rte_ring_lookup (name=3D0x102a4e28 > "PRI_2_SEC") > at /home/xueming/mlnx-dpdk.org/lib/librte_ring/rte_ring.c:326 > te =3D 0x7ef3eefd5e00 > r =3D 0x0 > ring_list =3D 0x7ffff7aa250c > #2 0x0000000010032640 in main (argc=3D10, argv=3D0x7ffffffff3e8) > at > /home/xueming/mlnx-dpdk.org/examples/multi_process/simple_mp/main.c:12 > 8 > flags =3D 0 > ring_size =3D 64 > pool_size =3D 1024 > pool_cache =3D 32 > priv_data_sz =3D 0 > ret =3D 9 > lcore_id =3D 32767 > cl =3D 0x7ffff7fef718 <_dl_argv> > (gdb) f 1 > #1 0x0000000010077d54 in rte_ring_lookup (name=3D0x102a4e28 > "PRI_2_SEC") > at /home/xueming/mlnx-dpdk.org/lib/librte_ring/rte_ring.c:326 > 326 if (strncmp(name, r->name, > RTE_RING_NAMESIZE) =3D=3D 0) > (gdb) l > 321 > 322 rte_rwlock_read_lock(RTE_EAL_TAILQ_RWLOCK); > 323 > 324 TAILQ_FOREACH(te, ring_list, next) { > 325 r =3D (struct rte_ring *) te->data; > 326 if (strncmp(name, r->name, > RTE_RING_NAMESIZE) =3D=3D 0) > 327 break; > 328 } > 329 > 330 rte_rwlock_read_unlock(RTE_EAL_TAILQ_RWLOCK); > (gdb) p *te > $1 =3D {next =3D {tqe_next =3D 0x0, tqe_prev =3D 0x0}, data =3D 0x0} > (gdb) p *ring_list > $2 =3D {tqh_first =3D 0x7ef3eefd5e00, tqh_last =3D 0x7ef3eec6d100} >=20 > # uname -a > Linux dragon-power-01 4.13.0-rc2 #1 SMP Tue Aug 29 17:27:05 IDT 2017 > ppc64le ppc64le ppc64le GNU/Linux >=20 > # cat /etc/issue > Ubuntu 16.04.2 LTS \n \l >=20 > # gcc --version > gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 Copyright (C) = 2015 > Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There = is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR > PURPOSE. >=20 > # lscpu > Architecture: ppc64le > Byte Order: Little Endian > CPU(s): 144 > On-line CPU(s) list: 0-87,96-103,112-159 > Thread(s) per core: 8 > Core(s) per socket: 4 > Socket(s): 4 > NUMA node(s): 4 > Model: 2.1 (pvr 004b 0201) > Model name: POWER8E (raw), altivec supported > CPU max MHz: 3690.0000 > CPU min MHz: 2061.0000 > L1d cache: 64K > L1i cache: 32K > L2 cache: 512K > L3 cache: 8192K > NUMA node0 CPU(s): 0-39 > NUMA node1 CPU(s): 40-79 > NUMA node16 CPU(s): 80-87,96-103,112-119 > NUMA node17 CPU(s): 120-159 >=20 > # cat build/.config > # RTE_EXEC_ENV values are the directories in mk/exec-env/ > CONFIG_RTE_EXEC_ENV=3D"linuxapp" > # RTE_ARCH values are architecture we compile for. directories in = mk/arch/ > CONFIG_RTE_ARCH=3D"ppc_64" > # machine can define specific variables or action for a specific board = # > RTE_MACHINE values are architecture we compile for. directories in > mk/machine/ CONFIG_RTE_MACHINE=3D"power8" > # The compiler we use. > # RTE_TOOLCHAIN values are architecture we compile for. directories in > mk/toolchain/ CONFIG_RTE_TOOLCHAIN=3D"gcc" > # Use intrinsics or assembly code for key routines > CONFIG_RTE_FORCE_INTRINSICS=3Dn # Machine forces strict alignment > constraints. > CONFIG_RTE_ARCH_STRICT_ALIGN=3Dn > # Compile to share library > CONFIG_RTE_BUILD_SHARED_LIB=3Dn > # Use newest code breaking previous ABI > CONFIG_RTE_NEXT_ABI=3Dy > # Major ABI to overwrite library specific LIBABIVER = CONFIG_RTE_MAJOR_ABI=3D > # Machine's cache line size > CONFIG_RTE_CACHE_LINE_SIZE=3D128 > # Compile Environment Abstraction Layer > CONFIG_RTE_LIBRTE_EAL=3Dy > CONFIG_RTE_MAX_LCORE=3D256 > CONFIG_RTE_MAX_NUMA_NODES=3D32 > CONFIG_RTE_MAX_MEMSEG=3D256 > CONFIG_RTE_MAX_MEMZONE=3D2560 > CONFIG_RTE_MAX_TAILQ=3D32 > CONFIG_RTE_LOG_LEVEL=3DRTE_LOG_INFO > CONFIG_RTE_LOG_DP_LEVEL=3DRTE_LOG_INFO > CONFIG_RTE_LOG_HISTORY=3D256 > CONFIG_RTE_BACKTRACE=3Dy > CONFIG_RTE_LIBEAL_USE_HPET=3Dn > CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=3Dn > CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=3Dn > CONFIG_RTE_EAL_IGB_UIO=3Dy > CONFIG_RTE_EAL_VFIO=3Dy > CONFIG_RTE_MALLOC_DEBUG=3Dn > CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=3Dy > # Recognize/ignore architecture we compile for. AVX/AVX512 CPU flags = for > performance/power testing. > # AVX512 is marked as experimental for now, will enable it after = enough # field > test and possible optimization. > CONFIG_RTE_ENABLE_AVX=3Dy > CONFIG_RTE_ENABLE_AVX512=3Dn > # Default driver path (or "" to disable) CONFIG_RTE_EAL_PMD_PATH=3D"" > # Compile Environment Abstraction Layer to support Vmware TSC map > CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=3Dn > # Compile architecture we compile for. argument parser library > CONFIG_RTE_LIBRTE_KVARGS=3Dy # Compile generic ethernet library > CONFIG_RTE_LIBRTE_ETHER=3Dy CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=3Dn > CONFIG_RTE_MAX_ETHPORTS=3D32 > CONFIG_RTE_MAX_QUEUES_PER_PORT=3D1024 > CONFIG_RTE_LIBRTE_IEEE1588=3Dn > CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=3D16 > CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=3Dy > # Turn off Tx preparation stage > # Warning: rte_eth_tx_prepare() can be safely disabled only if using a = # driver > which do not implement any Tx preparation. > CONFIG_RTE_ETHDEV_TX_PREPARE_NOOP=3Dn > # Compile burst-oriented Amazon ENA PMD driver > CONFIG_RTE_LIBRTE_ENA_PMD=3Dy CONFIG_RTE_LIBRTE_ENA_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_ENA_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_ENA_DEBUG_TX_FREE=3Dn > CONFIG_RTE_LIBRTE_ENA_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_ENA_COM_DEBUG=3Dn > # Compile burst-oriented IGB & EM PMD drivers > CONFIG_RTE_LIBRTE_EM_PMD=3Dy CONFIG_RTE_LIBRTE_IGB_PMD=3Dy > CONFIG_RTE_LIBRTE_E1000_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_E1000_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_E1000_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_E1000_DEBUG_TX_FREE=3Dn > CONFIG_RTE_LIBRTE_E1000_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_E1000_PF_DISABLE_STRIP_CRC=3Dn > # Compile burst-oriented IXGBE PMD driver > CONFIG_RTE_LIBRTE_IXGBE_PMD=3Dn > CONFIG_RTE_LIBRTE_IXGBE_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=3Dn > CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=3Dn > CONFIG_RTE_IXGBE_INC_VECTOR=3Dy > CONFIG_RTE_LIBRTE_IXGBE_BYPASS=3Dn > # Compile burst-oriented I40E PMD driver = CONFIG_RTE_LIBRTE_I40E_PMD=3Dy > CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=3Dn > CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=3Dy > CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=3Dy > CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=3Dn > CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=3D64 > CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=3D4 > CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=3D4 > # interval up to 8160 us, aligned to 2 (or default value) > CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=3D-1 > # Compile burst-oriented FM10K PMD > CONFIG_RTE_LIBRTE_FM10K_PMD=3Dn > CONFIG_RTE_LIBRTE_FM10K_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=3Dn > CONFIG_RTE_LIBRTE_FM10K_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=3Dy > CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=3Dy > # Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD > CONFIG_RTE_LIBRTE_MLX4_PMD=3Dn CONFIG_RTE_LIBRTE_MLX4_DEBUG=3Dn > CONFIG_RTE_LIBRTE_MLX4_DEBUG_BROKEN_VERBS=3Dn > CONFIG_RTE_LIBRTE_MLX4_SGE_WR_N=3D4 > CONFIG_RTE_LIBRTE_MLX4_MAX_INLINE=3D0 > CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE=3D8 > CONFIG_RTE_LIBRTE_MLX4_SOFT_COUNTERS=3D1 > # Compile burst-oriented Mellanox ConnectX-4 & ConnectX-5 (MLX5) PMD > CONFIG_RTE_LIBRTE_MLX5_PMD=3Dy CONFIG_RTE_LIBRTE_MLX5_DEBUG=3Dn > CONFIG_RTE_LIBRTE_MLX5_TX_MP_CACHE=3D8 > # Compile burst-oriented Broadcom PMD driver > CONFIG_RTE_LIBRTE_BNX2X_PMD=3Dn CONFIG_RTE_LIBRTE_BNX2X_DEBUG=3Dn > CONFIG_RTE_LIBRTE_BNX2X_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=3Dn > CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=3Dn > # Compile burst-oriented Chelsio Terminator (CXGBE) PMD > CONFIG_RTE_LIBRTE_CXGBE_PMD=3Dy CONFIG_RTE_LIBRTE_CXGBE_DEBUG=3Dn > CONFIG_RTE_LIBRTE_CXGBE_DEBUG_REG=3Dn > CONFIG_RTE_LIBRTE_CXGBE_DEBUG_MBOX=3Dn > CONFIG_RTE_LIBRTE_CXGBE_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_CXGBE_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_CXGBE_TPUT=3Dy > # Compile burst-oriented Cisco ENIC PMD driver > CONFIG_RTE_LIBRTE_ENIC_PMD=3Dn CONFIG_RTE_LIBRTE_ENIC_DEBUG=3Dn > CONFIG_RTE_LIBRTE_ENIC_DEBUG_FLOW=3Dn > # Compile burst-oriented Netronome NFP PMD driver > CONFIG_RTE_LIBRTE_NFP_PMD=3Dy CONFIG_RTE_LIBRTE_NFP_DEBUG=3Dn # > Compile burst-oriented Broadcom BNXT PMD driver > CONFIG_RTE_LIBRTE_BNXT_PMD=3Dy # Compile burst-oriented Solarflare > libefx-based PMD CONFIG_RTE_LIBRTE_SFC_EFX_PMD=3Dn > CONFIG_RTE_LIBRTE_SFC_EFX_DEBUG=3Dn # Compile software PMD backed by > SZEDATA2 device CONFIG_RTE_LIBRTE_PMD_SZEDATA2=3Dn # Defines firmware > type address space. > # See documentation for supported values. > # Other values raise compile time error. > CONFIG_RTE_LIBRTE_PMD_SZEDATA2_AS=3D0 > # Compile burst-oriented Cavium Thunderx NICVF PMD driver > CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=3Dy > CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_MBOX=3Dn > # Compile burst-oriented Cavium LiquidIO PMD driver > CONFIG_RTE_LIBRTE_LIO_PMD=3Dy > CONFIG_RTE_LIBRTE_LIO_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_LIO_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_LIO_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_LIO_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX=3Dn > CONFIG_RTE_LIBRTE_LIO_DEBUG_REGS=3Dn > # Compile NXP DPAA2 FSL-MC Bus > CONFIG_RTE_LIBRTE_FSLMC_BUS=3Dn > # Compile Support Libraries for NXP DPAA2 > CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=3Dn > CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=3Dy > # Compile burst-oriented NXP DPAA2 PMD driver > CONFIG_RTE_LIBRTE_DPAA2_PMD=3Dn > CONFIG_RTE_LIBRTE_DPAA2_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_DPAA2_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_DPAA2_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_DPAA2_DEBUG_TX_FREE=3Dn > # Compile burst-oriented VIRTIO PMD driver > CONFIG_RTE_LIBRTE_VIRTIO_PMD=3Dy > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=3Dn > # Compile virtio device emulation inside virtio PMD driver > CONFIG_RTE_VIRTIO_USER=3Dy # Compile burst-oriented VMXNET3 PMD driver > CONFIG_RTE_LIBRTE_VMXNET3_PMD=3Dn > CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX_FREE=3Dn > CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_DRIVER=3Dn > # Compile example software rings based PMD > CONFIG_RTE_LIBRTE_PMD_RING=3Dy > CONFIG_RTE_PMD_RING_MAX_RX_RINGS=3D16 > CONFIG_RTE_PMD_RING_MAX_TX_RINGS=3D16 > # Compile software PMD backed by PCAP files > CONFIG_RTE_LIBRTE_PMD_PCAP=3Dn # Compile link bonding PMD library > CONFIG_RTE_LIBRTE_PMD_BOND=3Dy > CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=3Dn > CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=3Dn > # QLogic 10G/25G/40G/50G/100G PMD > CONFIG_RTE_LIBRTE_QEDE_PMD=3Dy > CONFIG_RTE_LIBRTE_QEDE_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_QEDE_DEBUG_INFO=3Dn > CONFIG_RTE_LIBRTE_QEDE_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=3Dn > #Provides abs path/name of architecture we compile for. firmware file. > #Empty string denotes driver will use default firmware > CONFIG_RTE_LIBRTE_QEDE_FW=3D"" > # Compile software PMD backed by AF_PACKET sockets (Linux only) > CONFIG_RTE_LIBRTE_PMD_AF_PACKET=3Dy # Compile ARK PMD > CONFIG_RTE_LIBRTE_ARK_PMD=3Dy CONFIG_RTE_LIBRTE_ARK_PAD_TX=3Dy > CONFIG_RTE_LIBRTE_ARK_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_ARK_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_ARK_DEBUG_STATS=3Dn > CONFIG_RTE_LIBRTE_ARK_DEBUG_TRACE=3Dn > # Compile WRS accelerated virtual port (AVP) guest PMD driver > CONFIG_RTE_LIBRTE_AVP_PMD=3Dn CONFIG_RTE_LIBRTE_AVP_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_AVP_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_AVP_DEBUG_DRIVER=3Dy > CONFIG_RTE_LIBRTE_AVP_DEBUG_BUFFERS=3Dn > # Compile architecture we compile for. TAP PMD # It is enabled by = default for > Linux only. > CONFIG_RTE_LIBRTE_PMD_TAP=3Dy > # Compile Xen PMD > CONFIG_RTE_LIBRTE_PMD_XENVIRT=3Dn > # Compile null PMD > CONFIG_RTE_LIBRTE_PMD_NULL=3Dy > # Compile fail-safe PMD > CONFIG_RTE_LIBRTE_PMD_FAILSAFE=3Dy > # Do prefetch of packet data within PMD driver receive function > CONFIG_RTE_PMD_PACKET_PREFETCH=3Dy # Compile generic crypto device > library CONFIG_RTE_LIBRTE_CRYPTODEV=3Dy > CONFIG_RTE_LIBRTE_CRYPTODEV_DEBUG=3Dn > CONFIG_RTE_CRYPTO_MAX_DEVS=3D64 > CONFIG_RTE_CRYPTODEV_NAME_LEN=3D64 > # Compile PMD for ARMv8 Crypto device > CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=3Dn > CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO_DEBUG=3Dn > # Compile NXP DPAA2 crypto sec driver for CAAM HW > CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=3Dn > CONFIG_RTE_LIBRTE_DPAA2_SEC_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_DPAA2_SEC_DEBUG_DRIVER=3Dn > CONFIG_RTE_LIBRTE_DPAA2_SEC_DEBUG_RX=3Dn > # Compile PMD for QuickAssist based devices > CONFIG_RTE_LIBRTE_PMD_QAT=3Dn > CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_INIT=3Dn > CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_TX=3Dn > CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_RX=3Dn > CONFIG_RTE_LIBRTE_PMD_QAT_DEBUG_DRIVER=3Dn > # Number of sessions to create in architecture we compile for. session memory > pool # on a single QuickAssist device. > CONFIG_RTE_QAT_PMD_MAX_NB_SESSIONS=3D2048 > # Compile PMD for AESNI backed device > CONFIG_RTE_LIBRTE_PMD_AESNI_MB=3Dn > CONFIG_RTE_LIBRTE_PMD_AESNI_MB_DEBUG=3Dn > # Compile PMD for Software backed device > CONFIG_RTE_LIBRTE_PMD_OPENSSL=3Dn > CONFIG_RTE_LIBRTE_PMD_OPENSSL_DEBUG=3Dn > # Compile PMD for AESNI GCM device > CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=3Dn > CONFIG_RTE_LIBRTE_PMD_AESNI_GCM_DEBUG=3Dn > # Compile PMD for SNOW 3G device > CONFIG_RTE_LIBRTE_PMD_SNOW3G=3Dn > CONFIG_RTE_LIBRTE_PMD_SNOW3G_DEBUG=3Dn > # Compile PMD for KASUMI device > CONFIG_RTE_LIBRTE_PMD_KASUMI=3Dn > CONFIG_RTE_LIBRTE_PMD_KASUMI_DEBUG=3Dn > # Compile PMD for ZUC device > CONFIG_RTE_LIBRTE_PMD_ZUC=3Dn > CONFIG_RTE_LIBRTE_PMD_ZUC_DEBUG=3Dn > # Compile PMD for Crypto Scheduler device > CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER=3Dy > CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER_DEBUG=3Dn > # Compile PMD for NULL Crypto device > CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO=3Dy > # Compile generic event device library > CONFIG_RTE_LIBRTE_EVENTDEV=3Dy > CONFIG_RTE_LIBRTE_EVENTDEV_DEBUG=3Dn > CONFIG_RTE_EVENT_MAX_DEVS=3D16 > CONFIG_RTE_EVENT_MAX_QUEUES_PER_DEV=3D64 > # Compile PMD for skeleton event device > CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV=3Dy > CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV_DEBUG=3Dn > # Compile PMD for software event device > CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV=3Dy > CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV_DEBUG=3Dn > # Compile PMD for octeontx sso event device > CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=3Dy > CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF_DEBUG=3Dn > # Compile librte_ring > CONFIG_RTE_LIBRTE_RING=3Dy > # Compile librte_mempool > CONFIG_RTE_LIBRTE_MEMPOOL=3Dy > CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE=3D512 > CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=3Dn > # Compile Mempool drivers > CONFIG_RTE_DRIVER_MEMPOOL_RING=3Dy > CONFIG_RTE_DRIVER_MEMPOOL_STACK=3Dy > # Compile librte_mbuf > CONFIG_RTE_LIBRTE_MBUF=3Dy > CONFIG_RTE_LIBRTE_MBUF_DEBUG=3Dn > CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS=3D"ring_mp_mc" > CONFIG_RTE_MBUF_REFCNT_ATOMIC=3Dy > CONFIG_RTE_PKTMBUF_HEADROOM=3D128 > # Compile librte_timer > CONFIG_RTE_LIBRTE_TIMER=3Dy > CONFIG_RTE_LIBRTE_TIMER_DEBUG=3Dn > # Compile librte_cfgfile > CONFIG_RTE_LIBRTE_CFGFILE=3Dy > # Compile librte_cmdline > CONFIG_RTE_LIBRTE_CMDLINE=3Dy > CONFIG_RTE_LIBRTE_CMDLINE_DEBUG=3Dn > # Compile librte_hash > CONFIG_RTE_LIBRTE_HASH=3Dy > CONFIG_RTE_LIBRTE_HASH_DEBUG=3Dn > # Compile librte_efd > CONFIG_RTE_LIBRTE_EFD=3Dy > # Compile librte_jobstats > CONFIG_RTE_LIBRTE_JOBSTATS=3Dy > # Compile architecture we compile for. device metrics library > CONFIG_RTE_LIBRTE_METRICS=3Dy # Compile architecture we compile for. > bitrate statistics library CONFIG_RTE_LIBRTE_BITRATE=3Dy # Compile > architecture we compile for. latency statistics library > CONFIG_RTE_LIBRTE_LATENCY_STATS=3Dy # Compile librte_lpm > CONFIG_RTE_LIBRTE_LPM=3Dy CONFIG_RTE_LIBRTE_LPM_DEBUG=3Dn # Compile > librte_acl CONFIG_RTE_LIBRTE_ACL=3Dy CONFIG_RTE_LIBRTE_ACL_DEBUG=3Dn # > Compile librte_power CONFIG_RTE_LIBRTE_POWER=3Dy > CONFIG_RTE_LIBRTE_POWER_DEBUG=3Dn > CONFIG_RTE_MAX_LCORE_FREQS=3D64 > # Compile librte_net > CONFIG_RTE_LIBRTE_NET=3Dy > # Compile librte_ip_frag > CONFIG_RTE_LIBRTE_IP_FRAG=3Dy > CONFIG_RTE_LIBRTE_IP_FRAG_DEBUG=3Dn > CONFIG_RTE_LIBRTE_IP_FRAG_MAX_FRAG=3D4 > CONFIG_RTE_LIBRTE_IP_FRAG_TBL_STAT=3Dn > # Compile GRO library > CONFIG_RTE_LIBRTE_GRO=3Dy > # Compile librte_meter > CONFIG_RTE_LIBRTE_METER=3Dy > # Compile librte_sched > CONFIG_RTE_LIBRTE_SCHED=3Dy > CONFIG_RTE_SCHED_DEBUG=3Dn > CONFIG_RTE_SCHED_RED=3Dn > CONFIG_RTE_SCHED_COLLECT_STATS=3Dn > CONFIG_RTE_SCHED_SUBPORT_TC_OV=3Dn > CONFIG_RTE_SCHED_PORT_N_GRINDERS=3D8 > CONFIG_RTE_SCHED_VECTOR=3Dn > # Compile architecture we compile for. distributor library > CONFIG_RTE_LIBRTE_DISTRIBUTOR=3Dy # Compile architecture we compile = for. > reorder library CONFIG_RTE_LIBRTE_REORDER=3Dy # Compile librte_port > CONFIG_RTE_LIBRTE_PORT=3Dy CONFIG_RTE_PORT_STATS_COLLECT=3Dn > CONFIG_RTE_PORT_PCAP=3Dn # Compile librte_table > CONFIG_RTE_LIBRTE_TABLE=3Dy CONFIG_RTE_TABLE_STATS_COLLECT=3Dn # > Compile librte_pipeline CONFIG_RTE_LIBRTE_PIPELINE=3Dy > CONFIG_RTE_PIPELINE_STATS_COLLECT=3Dn > # Compile librte_kni > CONFIG_RTE_LIBRTE_KNI=3Dy > CONFIG_RTE_LIBRTE_PMD_KNI=3Dy > CONFIG_RTE_KNI_KMOD=3Dy > CONFIG_RTE_KNI_KMOD_ETHTOOL=3Dn > CONFIG_RTE_KNI_PREEMPT_DEFAULT=3Dy > # Compile architecture we compile for. pdump library > CONFIG_RTE_LIBRTE_PDUMP=3Dy # Compile vhost user library > CONFIG_RTE_LIBRTE_VHOST=3Dy CONFIG_RTE_LIBRTE_VHOST_NUMA=3Dy > CONFIG_RTE_LIBRTE_VHOST_DEBUG=3Dn # Compile vhost PMD # To compile, > CONFIG_RTE_LIBRTE_VHOST should be enabled. > CONFIG_RTE_LIBRTE_PMD_VHOST=3Dy > #Compile Xen domain0 support > CONFIG_RTE_LIBRTE_XEN_DOM0=3Dn > # Compile architecture we compile for. test application > CONFIG_RTE_APP_TEST=3Dy CONFIG_RTE_APP_TEST_RESOURCE_TAR=3Dn > # Compile architecture we compile for. PMD test application > CONFIG_RTE_TEST_PMD=3Dy > CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=3Dn > CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=3Dn > # Compile architecture we compile for. crypto performance application > CONFIG_RTE_APP_CRYPTO_PERF=3Dy # Compile architecture we compile for. > eventdev application CONFIG_RTE_APP_EVENTDEV=3Dy > CONFIG_RTE_EXEC_ENV_LINUXAPP=3Dy CONFIG_RTE_ARCH_PPC_64=3Dy > CONFIG_RTE_ARCH_64=3Dy CONFIG_RTE_TOOLCHAIN_GCC=3Dy # Note: Power > doesn't have this support # Note: Initially, all of architecture we compile for. > PMD drivers compilation are turned off on Power # Will turn on them = only after > architecture we compile for. successful testing on Power >=20 > Please refer here for more information on running DPDK multi-process > examples: >=20 > = https://urldefense.proofpoint.com/v2/url?u=3Dhttp-3A__dpdk.org_doc_guides= _s > = ample-5Fapp-5Fug_multi-5Fprocess.html&d=3DDwIFAg&c=3Djf_iaSHvJObTbx-siA1Z= > Og&r=3D4TYe4NpqlgVi0ArYpZ76FrWp7IEw8gfzq7k4itCX_Mg&m=3Dlz_1z0LzwjqjIwu > uryoN7QPg9N-6aTY_jEvDZtMZR0o&s=3Dgupwe5WWQ-ap2jObFko6UJymrcy4jTmF > 2r1dZ2fQN9E&e=3D >=20 > Best Regards, > Xueming