From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 18DBDA057B; Thu, 2 Apr 2020 09:57:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D0E32375B; Thu, 2 Apr 2020 09:57:35 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 55F1B2BAF for ; Thu, 2 Apr 2020 09:57:33 +0200 (CEST) IronPort-SDR: Wr3SBbC4chTLHP9FxnNEsUWAcXXMekEfYPHThEofPLk13zhM+gtbFXLVK20xNnnyR3sQ8xeme5 KsLtxktiWCXw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2020 00:57:32 -0700 IronPort-SDR: zX2SzFeWuVSfRCwkazZJbGr7kiF//dz/tqQWyc485Orx6Kw/WWIFwx/Mme4mBGECkLymYF1i86 thIidE2NdJBw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,335,1580803200"; d="scan'208";a="423036900" Received: from dpdk-yinan-purley.sh.intel.com ([10.67.117.227]) by orsmga005.jf.intel.com with ESMTP; 02 Apr 2020 00:57:30 -0700 From: Yinan To: dts@dpdk.org Cc: Wang Yinan Date: Thu, 2 Apr 2020 15:39:48 +0000 Message-Id: <20200402153948.54759-1-yinan.wang@intel.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dts] [PATCH v1] test_plans: add packed ring vectorized path cases for three topology of pvp_multi_paths performance test X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" From: Wang Yinan Signed-off-by: Wang Yinan --- .../pvp_multi_paths_performance_test_plan.rst | 43 +++++++++-- ...host_single_core_performance_test_plan.rst | 77 ++++++++++++------- ...rtio_single_core_performance_test_plan.rst | 41 +++++++--- 3 files changed, 117 insertions(+), 44 deletions(-) diff --git a/test_plans/pvp_multi_paths_performance_test_plan.rst b/test_plans/pvp_multi_paths_performance_test_plan.rst index 9da51ba..bbb7d0e 100644 --- a/test_plans/pvp_multi_paths_performance_test_plan.rst +++ b/test_plans/pvp_multi_paths_performance_test_plan.rst @@ -34,11 +34,15 @@ vhost/virtio pvp multi-paths performance test plan ================================================== -Benchmark PVP multi-paths performance with 9 tx/rx paths. -Includes mergeable, non-mergeable, vector_rx, inorder mergeable, -inorder non-mergeable, virtio 1.1 mergeable, virtio 1.1 non-mergeable, -virtio 1.1 inorder mergeable, virtio 1.1 inorder non-mergeable path. +Benchmark PVP multi-paths performance with 10 tx/rx paths. Includes mergeable, non-mergeable, vectorized_rx, +inorder mergeable, inorder non-mergeable, virtio 1.1 mergeable, virtio 1.1 non-mergeable,virtio 1.1 inorder +mergeable, virtio 1.1 inorder non-mergeable, virtio1.1 vectorized path. Give 1 core for vhost and virtio respectively. +Note: Virtio 1.1 vectorized path need below three initial requirements: + 1. AVX512 is allowed in config file and supported by compiler + 2. Host cpu support AVX512F + 3. ring size is power of two + Test flow ========= @@ -195,8 +199,8 @@ Test Case 6: pvp test with non-mergeable path testpmd>show port stats all -Test Case 7: pvp test with vector_rx path -========================================= +Test Case 7: pvp test with vectorized_rx path +============================================= 1. Bind one port to igb_uio, then launch vhost by below command:: @@ -251,17 +255,40 @@ Test Case 9: pvp test with virtio 1.1 inorder non-mergeable path 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -n 4 -l 2-3 --socket-mem 1024,1024 --legacy-mem \ + ./testpmd -n 4 -l 2-3 \ --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,client=0' \ -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start +2. Launch virtio-user by below command:: + + ./testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024 + >set fwd mac + >start + +3. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: + + testpmd>show port stats all + +Test Case 10: pvp test with virtio 1.1 vectorized path +====================================================== + +1. Bind one port to igb_uio, then launch vhost by below command:: + + rm -rf vhost-net* + ./testpmd -n 4 -l 2-3 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,client=0' \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + 2. Launch virtio-user by below command:: ./testpmd -n 4 -l 5-6 --socket-mem 1024,1024 \ --legacy-mem --no-pci --file-prefix=virtio \ - --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,mrg_rxbuf=0,in_order=1 \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024 >set fwd mac >start diff --git a/test_plans/pvp_multi_paths_vhost_single_core_performance_test_plan.rst b/test_plans/pvp_multi_paths_vhost_single_core_performance_test_plan.rst index 92c0d60..e56bec6 100644 --- a/test_plans/pvp_multi_paths_vhost_single_core_performance_test_plan.rst +++ b/test_plans/pvp_multi_paths_vhost_single_core_performance_test_plan.rst @@ -34,12 +34,14 @@ vhost/virtio pvp multi-paths vhost single core test plan ======================================================== -Benchmark PVP vhost single core performance with 9 tx/rx paths. -Includes mergeable, non-mergeable, vector_rx, inorder mergeable, -inorder non-mergeable, virtio 1.1 mergeable, virtio 1.1 non-mergeable, -virtio 1.1 inorder mergeable, virtio 1.1 inorder non-mergeable path. -Give 2 cores for virtio and 1 core for vhost, set io fwd at virtio side -to lower the virtio workload. +Benchmark PVP virtio single core performance with 10 tx/rx paths. Includes mergeable, non-mergeable, vectorized_rx, +inorder mergeable, inorder non-mergeable, virtio 1.1 mergeable, virtio 1.1 non-mergeable,virtio 1.1 inorder +mergeable, virtio 1.1 inorder non-mergeable, virtio1.1 vectorized path. +Give 2 cores for virtio and 1 core for vhost, set io fwd at virtio side to lower the virtio workload. +Note: Virtio 1.1 vectorizedized path need below three initial requirements: + 1. AVX512 is allowed in config file and supported by compiler + 2. Host cpu support AVX512F + 3. ring size is power of two Test flow ========= @@ -52,14 +54,14 @@ Test Case 1: vhost single core performance test with virtio 1.1 mergeable path 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -73,14 +75,14 @@ Test Case 2: vhost single core performance test with virtio 1.1 non-mergeable pa 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -94,14 +96,14 @@ Test Case 3: vhost single core performance test with inorder mergeable path 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --legacy-mem --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,in_order=1,mrg_rxbuf=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -115,14 +117,14 @@ Test Case 4: vhost single core performance test with inorder non-mergeable path 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,in_order=1,mrg_rxbuf=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -136,14 +138,14 @@ Test Case 5: vhost single core performance test with mergeable path 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,in_order=0,mrg_rxbuf=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -157,14 +159,14 @@ Test Case 6: vhost single core performance test with non-mergeable path 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,in_order=0,mrg_rxbuf=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -172,20 +174,20 @@ Test Case 6: vhost single core performance test with non-mergeable path 3. Send packet with packet generator with different packet size, check the throughput. -Test Case 7: vhost single core performance test with vector_rx path -=================================================================== +Test Case 7: vhost single core performance test with vectorized_rx path +======================================================================= 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,in_order=0,mrg_rxbuf=0 \ -- -i --tx-offloads=0x0 --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -199,14 +201,14 @@ Test Case 8: vhost single core performance test with virtio 1.1 inorder mergeabl 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* - ./testpmd -l 3-4 -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io @@ -217,6 +219,27 @@ Test Case 8: vhost single core performance test with virtio 1.1 inorder mergeabl Test Case 9: vhost single core performance test with virtio 1.1 inorder non-mergeable path ========================================================================================== +1. Bind one port to igb_uio, then launch vhost by below command:: + + rm -rf vhost-net* + ./testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ + --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +2. Launch virtio-user by below command:: + + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ + --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 + >set fwd io + >start + +3. Send packet with packet generator with different packet size, check the throughput. + +Test Case 10: vhost single core performance test with virtio 1.1 vectorized path +============================================================================= + 1. Bind one port to igb_uio, then launch vhost by below command:: rm -rf vhost-net* @@ -227,9 +250,9 @@ Test Case 9: vhost single core performance test with virtio 1.1 inorder non-merg 2. Launch virtio-user by below command:: - ./testpmd -l 7-9 -n 4 --socket-mem 1024,1024 --legacy-mem --file-prefix=virtio \ - --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 + ./testpmd -l 7-9 -n 4 --file-prefix=virtio \ + --vdev=virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rss-ip --nb-cores=2 --txd=1024 --rxd=1024 >set fwd io >start diff --git a/test_plans/pvp_multi_paths_virtio_single_core_performance_test_plan.rst b/test_plans/pvp_multi_paths_virtio_single_core_performance_test_plan.rst index 990c18a..596d1e9 100644 --- a/test_plans/pvp_multi_paths_virtio_single_core_performance_test_plan.rst +++ b/test_plans/pvp_multi_paths_virtio_single_core_performance_test_plan.rst @@ -34,12 +34,14 @@ vhost/virtio pvp multi-paths virtio single core test plan ========================================================= -Benchmark pvp virtio single core performance with 9 tx/rx paths. -Includes mergeable, non-mergeable, vector_rx, inorder mergeable, -inorder non-mergeable, virtio 1.1 mergeable, virtio 1.1 non-mergeable, -virtio 1.1 inorder mergeable, virtio 1.1 inorder non-mergeable path. -Give 2 cores for vhost and 1 core for virtio, set io fwd at vhost side -to lower the vhost workload. +Benchmark PVP virtio single core performance with 10 tx/rx paths. Includes mergeable, non-mergeable, vectorized_rx, +inorder mergeable, inorder non-mergeable, virtio 1.1 mergeable, virtio 1.1 non-mergeable,virtio 1.1 inorder +mergeable, virtio 1.1 inorder non-mergeable, virtio1.1 vectorized path. +Give 2 cores for vhost and 1 core for virtio, set io fwd at vhost side to lower the vhost workload. +Note: Virtio 1.1 vectorizedized path need below three initial requirements: + 1. AVX512 is allowed in config file and supported by compiler + 2. Host cpu support AVX512F + 3. ring size is power of two Test flow ========= @@ -178,7 +180,7 @@ Test Case 6: virtio single core performance test with non-mergeable path 3. Send packet with packet generator with different packet size, check the throughput. -Test Case 7: virtio single core performance test with vector_rx path +Test Case 7: virtio single core performance test with vectorized_rx path ==================================================================== 1. Bind one port to igb_uio, then launch vhost by below command:: @@ -237,8 +239,29 @@ Test Case 9: virtio single core performance test with virtio 1.1 inorder non-mer ./testpmd -n 4 -l 5-6 --socket-mem 1024,1024 \ --legacy-mem --no-pci --file-prefix=virtio \ - --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,mrg_rxbuf=0,in_order=1 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + >set fwd mac + >start + +3. Send packet with packet generator with different packet size, check the throughput. + +Test Case 10: virtio single core performance test with virtio 1.1 vectorized path +============================================================================= + +1. Bind one port to igb_uio, then launch vhost by below command:: + + rm -rf vhost-net* + ./testpmd -n 4 -l 2-4 --no-pci \ + --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=2,client=0' -- -i --nb-cores=2 --txd=1024 --rxd=1024 + testpmd>set fwd io + testpmd>start + +2. Launch virtio-user by below command:: + + ./testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 >set fwd mac >start -- 2.17.1