From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0068.outbound.protection.outlook.com [104.47.0.68]) by dpdk.org (Postfix) with ESMTP id 961E82BF3 for ; Thu, 31 Aug 2017 16:40:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=n3zj8s2TrYAgOYksi2jGRbsMrOR88L0mik4v9z5NnV4=; b=i4fcu5lh//rgo0sQkXgBQOHIH/o4e8B4bmyvB0mQWYwKggQRab9edr3FK/TYmA1f3mHphKgPDbkX5etMLTRbc+SJbz69RlOjAXaDvuTwDKIJj+jmGazIjjjQrxt4D1i6XLbu6Y/yEY4on85c0gMpwldCZB0g01kRg7DzTJ9m7MU= Received: from DB3PR05MB297.eurprd05.prod.outlook.com (10.141.6.13) by DB3PR05MB268.eurprd05.prod.outlook.com (10.141.4.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Thu, 31 Aug 2017 14:40:00 +0000 Received: from DB3PR05MB297.eurprd05.prod.outlook.com ([fe80::192:275c:2976:260e]) by DB3PR05MB297.eurprd05.prod.outlook.com ([fe80::192:275c:2976:260e%14]) with mapi id 15.20.0013.012; Thu, 31 Aug 2017 14:40:00 +0000 From: "Xueming(Steven) Li" To: Chao Zhu CC: "dev@dpdk.org" Thread-Topic: multi-process shared memory on PPC Thread-Index: AdMiZW9cpSMaxaafQ++SOqeaIUjlWQ== Date: Thu, 31 Aug 2017 14:40:00 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [114.85.197.60] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR05MB268; 6:sVI+zDNhmNfCfCEe8VnC7VxM47bl2TKV638Z4EsvdwARIsX1hRngI+6beELSJDrYL2cJNj6/lqrzH+9RTpxS46SDF7iHeeIzhVEoxfMDhIL2kf7lWEgp3Pf4PwAzfSQK8eLHEAKnEuNGJwD+ZN682v71hL6NyU1Ti2J3DLmy8+OaVhobtq9qxozSxwoFRVWFfS0O8pUrbL1rZAhlw+3kR0MR8CuusmY9Ft5aXpKYbo4cc9QSuHjIS96xIAZzMglE/mksqx5k1MFsM3i4zo/saCvp2cyEK5YRgWMNl2M6qKsi7kcY3TcAVZiYB7QLwku/SvVGXy7mPjyPHmEFiWclWA==; 5:39IusFCOBIPitGDSsSWFO+MH656SEE7n9Pmao1k0XRxM0QJHhIk1Jp89PZwkiv5NeROG0Gl/PoGAXhwZ4T3JiVcBIaPbknVnATjTbmLRbOjeCkDfwKYBUfImY/gfWcWIxiKUU78ZwZESfivVp1veoQ==; 24:5ePAV6a8UzkSBLW3bMzaojiYpRK9TGabbfAiTBVXCbQWFhl29rkNXDEoDFOXBMmD9+IrJHsiJWZAEVJHRPx2E6Y/GdXnY8wNErFbEPr21lA=; 7:qLkZELSsRxpJ6MxY8CCpJ1UXE1hgQagyppNopBa10zvIc+zQ/yUP9Di1ZaBzW2uGm3W3wVPbJA/0W57nwFVyh6BNHwndJcLLx0tsRNBKQtT3V3yQNKljYEDSd29JrdnB4HcURePnWhHEPfpw/8xv9bi1kxuzWHw4WqX4q+8fOkm8GsNkIoqrjHQS1/fv1gdmEFwdBxiSXVf9sU6Iwv7NsbhzVKFh3ELFI9V2N2wzMwc= x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 8e90deff-b589-41c5-1e0b-08d4f07e28a1 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DB3PR05MB268; x-ms-traffictypediagnostic: DB3PR05MB268: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xuemingl@mellanox.com; x-exchange-antispam-report-test: UriScan:(250305191791016)(22074186197030)(209352067349851)(211171220733660)(17755550239193); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123564025)(20161123562025)(20161123558100)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB3PR05MB268; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB3PR05MB268; x-forefront-prvs: 04163EF38A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(199003)(53754006)(189002)(6916009)(66066001)(33656002)(7736002)(189998001)(4326008)(305945005)(6506006)(14454004)(74316002)(25786009)(966005)(86362001)(6436002)(54356999)(2900100001)(81166006)(81156014)(8676002)(478600001)(8936002)(5250100002)(50986999)(6116002)(102836003)(68736007)(55016002)(97736004)(99286003)(5660300001)(53376002)(6306002)(3846002)(110136004)(7696004)(53936002)(2906002)(3280700002)(53946003)(105586002)(106356001)(3660700001)(101416001)(9686003)(2004002)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR05MB268; H:DB3PR05MB297.eurprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2017 14:40:00.2869 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR05MB268 Subject: [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: Thu, 31 Aug 2017 14:40:03 -0000 Hi all, I'm testing multi-process example on PowerPC system, looks like shared memo= ry not working properly. Below are the error and debug info of the first multi-process example 'simp= le_mp' (works as expected on X86): // Build DPDK, master branch # make T=3Dppc_64-power8-linuxapp-gcc -j160 -C examples/multi_process/simpl= e_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 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: . Find the GDB manual and other documentation resources online at: . 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...don= e. (gdb) r Starting program: /home/xueming/mlnx-dpdk.org/examples/multi_process/simple= _mp/build/simple_mp -n 4 -w 0:0.0 --proc-type=3Dsecondary -l 3-4 --socket-m= em 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)] 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:= 128 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} # uname -a Linux dragon-power-01 4.13.0-rc2 #1 SMP Tue Aug 29 17:27:05 IDT 2017 ppc64l= e ppc64le ppc64le GNU/Linux # cat /etc/issue Ubuntu 16.04.2 LTS \n \l # 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. # 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 # 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/mac= hine/ CONFIG_RTE_MACHINE=3D"power8" # The compiler we use. # RTE_TOOLCHAIN values are architecture we compile for. directories in mk/t= oolchain/ 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 pe= rformance/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 memo= ry 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 compilat= ion are turned off on Power # Will turn on them only after architecture we compile for. successful test= ing on Power Please refer here for more information on running DPDK multi-process exampl= es: http://dpdk.org/doc/guides/sample_app_ug/multi_process.html Best Regards, Xueming