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 C27F1A00E6 for ; Mon, 8 Jul 2019 04:38:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 88C9A4C90; Mon, 8 Jul 2019 04:38:31 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 334C131FC for ; Mon, 8 Jul 2019 04:38:29 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jul 2019 19:38:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,465,1557212400"; d="scan'208";a="167543197" Received: from npg-dpdk-project-yinanwang-1.sh.intel.com ([10.67.110.201]) by orsmga003.jf.intel.com with ESMTP; 07 Jul 2019 19:38:26 -0700 From: Yinan To: dts@dpdk.org Cc: Wang Yinan Date: Sun, 7 Jul 2019 19:35:23 +0000 Message-Id: <20190707193523.27983-1-yinan.wang@intel.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain; charset=y Content-Transfer-Encoding: 8bit Subject: [dts] [PATCH v1] test_plans: update test plan to verify performance of multi-queues in loopback multi-queues 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 --- ...ack_multi_paths_port_restart_test_plan.rst | 86 ++-- .../loopback_multi_queues_test_plan.rst | 371 ++++++++++++------ 2 files changed, 285 insertions(+), 172 deletions(-) diff --git a/test_plans/loopback_multi_paths_port_restart_test_plan.rst b/test_plans/loopback_multi_paths_port_restart_test_plan.rst index 0b9b87a..76aba32 100644 --- a/test_plans/loopback_multi_paths_port_restart_test_plan.rst +++ b/test_plans/loopback_multi_paths_port_restart_test_plan.rst @@ -8,7 +8,7 @@ - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright + - Redistributions in binary forim must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. @@ -34,13 +34,8 @@ vhost/virtio loopback with multi-paths and port restart test plan ================================================================= -Description -=========== - -Benchmark vhost/virtio-user loopback test with 8 rx/tx paths. -Includes mergeable, normal, vector_rx, inorder mergeable, -inorder no-mergeable, virtio 1.1 mergeable, virtio 1.1 inorder, virtio 1.1 normal path. -Also cover port restart test with each path. +Benchmark vhost/virtio-user loopback test with 7 rx/tx paths, includes virtio 1.0 mergeable, normal, vector_rx, inorder mergeable, +inorder no-mergeable path and virtio 1.1 mergeable, normal path. Also test port restart and only send one packet each time using testpmd. Test Case 1: loopback test with virtio 1.1 mergeable path ========================================================= @@ -79,7 +74,8 @@ Test Case 1: loopback test with virtio 1.1 mergeable path 6. Restart port at vhost side and re-calculate the average throughput, verify the throughput is not zero after port restart:: testpmd>port start 0 - testpmd>start tx_first 32 + testpmd>set burst 1 + testpmd>start tx_first 1 testpmd>show port stats all Test Case 2: loopback test with virtio 1.1 normal path @@ -119,50 +115,11 @@ Test Case 2: loopback test with virtio 1.1 normal path 6. Restart port at vhost side and re-calculate the average throughput, verify the throughput is not zero after port restart:: testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all - -Test Case 3: loopback test with virtio 1.1 inorder path -======================================================= - -1. Launch vhost by below command:: - - rm -rf vhost-net* - ./testpmd -n 4 -l 2-4 --socket-mem 1024,1024 --legacy-mem --no-pci \ - --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 - -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,in_order=1,mrg_rxbuf=0 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 - >set fwd mac - >start - -3. Send packets with vhost-testpmd, [frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: - - testpmd>set txpkts [frame_size] - testpmd>start tx_first 32 - -4. Get throughput 10 times and calculate the average throughput:: - - testpmd>show port stats all - -5. Stop port at vhost side and re-calculate the average throughput, verify the throughput is zero after port stop:: - - testpmd>stop - testpmd>port stop 0 - testpmd>show port stats all - -6. Restart port at vhost side and re-calculate the average throughput, verify the throughput is not zero after port restart:: - - testpmd>port start 0 - testpmd>start tx_first 32 + testpmd>set burst 1 + testpmd>start tx_first 1 testpmd>show port stats all -Test Case 4: loopback test with inorder mergeable path +Test Case 3: loopback test with inorder mergeable path ====================================================== 1. Launch vhost by below command:: @@ -199,10 +156,11 @@ Test Case 4: loopback test with inorder mergeable path 6. Restart port at vhost side and re-calculate the average throughput, verify the throughput is not zero after port restart:: testpmd>port start 0 - testpmd>start tx_first 32 + testpmd>set burst 1 + testpmd>start tx_first 1 testpmd>show port stats all -Test Case 5: loopback test with inorder no-mergeable path +Test Case 4: loopback test with inorder no-mergeable path ========================================================= 1. Launch vhost by below command:: @@ -239,10 +197,11 @@ Test Case 5: loopback test with inorder no-mergeable path 6. Restart port at vhost side and re-calculate the average throughput, verify the throughput is not zero after port restart:: testpmd>port start 0 - testpmd>start tx_first 32 + testpmd>set burst 1 + testpmd>start tx_first 1 testpmd>show port stats all -Test Case 6: loopback test with mergeable path +Test Case 5: loopback test with mergeable path ============================================== 1. Launch vhost by below command:: @@ -279,10 +238,11 @@ Test Case 6: loopback test with mergeable path testpmd>stop testpmd>port stop 0 testpmd>port start 0 - testpmd>start tx_first 32 + testpmd>set burst 1 + testpmd>start tx_first 1 testpmd>show port stats all -Test Case 7: loopback test with normal path +Test Case 6: loopback test with normal path =========================================== 1. Launch vhost by below command:: @@ -319,10 +279,11 @@ Test Case 7: loopback test with normal path 6. Restart port at vhost side and re-calculate the average throughput, verify the throughput is not zero after port restart:: testpmd>port start 0 - testpmd>start tx_first 32 + testpmd>set burst 1 + testpmd>start tx_first 1 testpmd>show port stats all -Test Case 8: loopback test with vector_rx path +Test Case 7: loopback test with vector_rx path ============================================== 1. Launch vhost by below command:: @@ -337,7 +298,7 @@ Test Case 8: loopback test with vector_rx path ./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,in_order=0,mrg_rxbuf=0 \ - -- -i --tx-offloads=0x0 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + -- -i --nb-cores=1 --txd=1024 --rxd=1024 >set fwd mac >start @@ -359,5 +320,6 @@ Test Case 8: loopback test with vector_rx path 6. Restart port at vhost side and re-calculate the average throughput, verify the throughput is not zero after port restart:: testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd>set burst 1 + testpmd>start tx_first 1 + testpmd>show port stats all \ No newline at end of file diff --git a/test_plans/loopback_multi_queues_test_plan.rst b/test_plans/loopback_multi_queues_test_plan.rst index 2021c3e..47b4ae9 100644 --- a/test_plans/loopback_multi_queues_test_plan.rst +++ b/test_plans/loopback_multi_queues_test_plan.rst @@ -8,7 +8,7 @@ - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright + - Redistributions in binary forim must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. @@ -30,37 +30,33 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -===================================================== -vhost/virtio-user loopback with multi-queue test plan -===================================================== +====================================================== +vhost/virtio-user loopback with multi-queues test plan +====================================================== -Description -=========== +Benchmark vhost/virtio-user loopback multi-queues with different rx/tx paths with virtio 1.0 and virtio 1.1, includes virtio 1.0 mergeable, normal, vector_rx, inorder no-mergeable, inorder mergeable path and virtio 1.1 mergeable, normal path. And virtio-user support 8 queues in maximum, check performance could be linear growth when enable 8 queues and 8 cores, notice cores should in same socket. -Benchmark vhost/virtio-user loopback multi-queues test with 8 rx/tx paths, virtio-user support 8 queues in maximum. -Includes mergeable, normal, vector_rx, inorder mergeable, -inorder no-mergeable, virtio 1.1 mergeable, virtio 1.1 inorder, virtio 1.1 normal path. +Test Case 1: loopback with virtio 1.1 mergeable path using 1 queue and 8 queues +=============================================================================== -Test Case 1: loopback 2 queues test with virtio 1.1 mergeable path -================================================================== 1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -c 0xe -n 4 --socket-mem 1024,1024 --no-pci \ - --vdev 'eth_vhost0,iface=vhost-net,queues=2' -- \ - -i --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ + -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac 2. Launch virtio-user by below command:: - ./testpmd -n 4 -l 5-7 --socket-mem 1024,1024 \ + ./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,queues=2,packed_vq=1,mrg_rxbuf=1,in_order=0 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=0 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start -3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: +3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 1518]:: testpmd>set txpkts [frame_size] testpmd>start tx_first 32 @@ -69,62 +65,56 @@ Test Case 1: loopback 2 queues test with virtio 1.1 mergeable path testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: +5. Check each RX/TX queue has packets, then quit testpmd:: testpmd>stop + testpmd>quit -Test Case 2: loopback 2 queues test with virtio 1.1 normal path -=============================================================== - -1. Launch testpmd by below command:: +6. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -c 0xe -n 4 --socket-mem 1024,1024 --no-pci \ - --vdev 'eth_vhost0,iface=vhost-net,queues=2' -- \ - -i --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 + ./testpmd -l 1-9 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ + -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 testpmd>set fwd mac -2. Launch virtio-user by below command:: +7. Launch virtio-user by below command:: - ./testpmd -n 4 -l 5-7 --socket-mem 1024,1024 \ + ./testpmd -n 4 -l 10-18 --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,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=0 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=8,packed_vq=1,mrg_rxbuf=1,in_order=0 \ + -- -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start -3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: +8. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 1518]:: testpmd>set txpkts [frame_size] testpmd>start tx_first 32 -4. Get throughput 10 times and calculate the average throughput:: +9. Get throughput 10 times and calculate the average throughput,check the throughput of 8 queues is eight times of 1 queue:: testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: - - testpmd>stop - -Test Case 3: loopback 2 queues test with virtio 1.1 inorder path -================================================================ +Test Case 2: loopback with virtio 1.1 normal path using 1 queue and 8 queues +============================================================================ 1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -c 0xe -n 4 --socket-mem 1024,1024 --no-pci \ - --vdev 'eth_vhost0,iface=vhost-net,queues=2' -- \ - -i --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ + -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac 2. Launch virtio-user by below command:: - ./testpmd -n 4 -l 5-7 --socket-mem 1024,1024 \ + ./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,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=0 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start 3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: @@ -135,29 +125,56 @@ Test Case 3: loopback 2 queues test with virtio 1.1 inorder path testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: +5. Check each RX/TX queue has packets, then quit testpmd:: testpmd>stop + testpmd>quit + +6. Launch testpmd by below command:: + + rm -rf vhost-net* + ./testpmd -l 1-9 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ + -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + +7. Launch virtio-user by below command:: -Test Case 4: loopback 2 queues test with inorder mergeable path -=============================================================== + ./testpmd -n 4 -l 10-18 --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,queues=8,packed_vq=1,mrg_rxbuf=0,in_order=0 \ + -- -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +8. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: + + testpmd>set txpkts [frame_size] + testpmd>start tx_first 32 + +9. Get throughput 10 times and calculate the average throughput,check the throughput of 8 queues is eight times of 1 queue:: + + testpmd>show port stats all + +Test Case 3: loopback with virtio 1.0 inorder mergeable path using 1 queue and 8 queues +======================================================================================= 1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -c 0xe -n 4 --socket-mem 1024,1024 --no-pci \ - --vdev 'eth_vhost0,iface=vhost-net,queues=2' -- \ - -i --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ + -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac 2. Launch virtio-user by below command:: - ./testpmd -n 4 -l 5-7 --socket-mem 1024,1024 \ + ./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,queues=2,in_order=1,mrg_rxbuf=1 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,mrg_rxbuf=1,in_order=1 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start 3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: @@ -168,29 +185,56 @@ Test Case 4: loopback 2 queues test with inorder mergeable path testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: +5. Check each RX/TX queue has packets, then quit testpmd:: testpmd>stop + testpmd>quit -Test Case 5: loopback 2 queues test with inorder no-mergeable path -================================================================== +6. Launch testpmd by below command:: + + rm -rf vhost-net* + ./testpmd -l 1-9 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ + -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + +7. Launch virtio-user by below command:: + + ./testpmd -n 4 -l 10-18 --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,queues=8,mrg_rxbuf=1,in_order=1 \ + -- -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +8. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: + + testpmd>set txpkts [frame_size] + testpmd>start tx_first 32 + +9. Get throughput 10 times and calculate the average throughput,check the throughput of 8 queues is eight times of 1 queue:: + + testpmd>show port stats all + +Test Case 4: loopback with virtio 1.0 inorder no-mergeable path using 1 queue and 8 queues +========================================================================================== 1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -c 0xe -n 4 --socket-mem 1024,1024 --no-pci \ - --vdev 'eth_vhost0,iface=vhost-net,queues=2' -- \ - -i --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ + -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac 2. Launch virtio-user by below command:: - ./testpmd -n 4 -l 5-7 --socket-mem 1024,1024 \ + ./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,queues=2,in_order=1,mrg_rxbuf=0 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,mrg_rxbuf=0,in_order=1 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start 3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: @@ -201,29 +245,56 @@ Test Case 5: loopback 2 queues test with inorder no-mergeable path testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: +5. Check each RX/TX queue has packets, then quit testpmd:: testpmd>stop + testpmd>quit + +6. Launch testpmd by below command:: + + rm -rf vhost-net* + ./testpmd -l 1-9 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ + -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac -Test Case 6: loopback 8 queues test with mergeable path -======================================================= +7. Launch virtio-user by below command:: + + ./testpmd -n 4 -l 10-18 --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,queues=8,mrg_rxbuf=0,in_order=1 \ + -- -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +8. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: + + testpmd>set txpkts [frame_size] + testpmd>start tx_first 32 + +9. Get throughput 10 times and calculate the average throughput,check the throughput of 8 queues is eight times of 1 queue:: + + testpmd>show port stats all + +Test Case 5: loopback with virtio 1.0 mergeable path using 1 queue and 8 queues +=============================================================================== 1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -l 2-6 -n 4 --socket-mem 1024,1024 --no-pci \ - --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ - -i --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ + -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac 2. Launch virtio-user by below command:: - ./testpmd -n 4 -l 7-11 --socket-mem 1024,1024 \ + ./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,queues=8,in_order=0,mrg_rxbuf=1 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=4--rxq=8 --txq=8 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,mrg_rxbuf=1,in_order=0 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start 3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: @@ -234,30 +305,56 @@ Test Case 6: loopback 8 queues test with mergeable path testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: +5. Check each RX/TX queue has packets, then quit testpmd:: testpmd>stop + testpmd>quit +6. Launch testpmd by below command:: -Test Case 7: loopback 8 queues test with normal path -==================================================== + rm -rf vhost-net* + ./testpmd -l 1-9 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ + -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + +7. Launch virtio-user by below command:: -1. Launch vhost by below command:: + ./testpmd -n 4 -l 10-18 --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,queues=8,mrg_rxbuf=1,in_order=0 \ + -- -i --enable-hw-vlan-strip --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +8. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: + + testpmd>set txpkts [frame_size] + testpmd>start tx_first 32 + +9. Get throughput 10 times and calculate the average throughput,check the throughput of 8 queues is eight times of 1 queue:: + + testpmd>show port stats all + +Test Case 6: loopback with virtio 1.0 normal path using 1 queue and 8 queues +============================================================================ + +1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -n 4 -l 2-6 --socket-mem 1024,1024 --legacy-mem --no-pci \ - --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=8' -- \ - -i --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - >set fwd mac + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ + -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac 2. Launch virtio-user by below command:: - ./testpmd -n 4 -l 7-11 --socket-mem 1024,1024 \ + ./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,queues=8,in_order=0,mrg_rxbuf=0 \ - -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,mrg_rxbuf=0,in_order=0 \ + -- -i --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start 3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: @@ -268,29 +365,56 @@ Test Case 7: loopback 8 queues test with normal path testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: +5. Check each RX/TX queue has packets, then quit testpmd:: testpmd>stop + testpmd>quit + +6. Launch testpmd by below command:: + + rm -rf vhost-net* + ./testpmd -l 1-9 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ + -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac -Test Case 8: loopback 8 queues test with vector_rx path -======================================================= +7. Launch virtio-user by below command:: -1. Launch vhost by below command:: + ./testpmd -n 4 -l 10-18 --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,queues=8,mrg_rxbuf=0,in_order=0 \ + -- -i --enable-hw-vlan-strip --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +8. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: + + testpmd>set txpkts [frame_size] + testpmd>start tx_first 32 + +9. Get throughput 10 times and calculate the average throughput,check the throughput of 8 queues is eight times of 1 queue:: + + testpmd>show port stats all + +Test Case 7: loopback with virtio 1.0 vector_rx path using 1 queue and 8 queues +=============================================================================== + +1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -n 4 -l 2-6 --socket-mem 1024,1024 --legacy-mem --no-pci \ - --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=8' -- \ - -i --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - >set fwd mac + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ + -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac 2. Launch virtio-user by below command:: - ./testpmd -n 4 -l 7-11 --socket-mem 1024,1024 \ + ./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,queues=8,in_order=0,mrg_rxbuf=0 \ - -- -i --tx-offloads=0x0 --rss-ip --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - >set fwd mac - >start + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,mrg_rxbuf=0,in_order=0 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start 3. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: @@ -301,6 +425,33 @@ Test Case 8: loopback 8 queues test with vector_rx path testpmd>show port stats all -5. Check each queue's RX/TX packet numbers:: +5. Check each RX/TX queue has packets, then quit testpmd:: testpmd>stop + testpmd>quit + +6. Launch testpmd by below command:: + + rm -rf vhost-net* + ./testpmd -l 1-9 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=8' -- \ + -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + +7. Launch virtio-user by below command:: + + ./testpmd -n 4 -l 10-18 --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,queues=8,mrg_rxbuf=0,in_order=0 \ + -- -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +8. Send packets with vhost-testpmd,[frame_size] is the parameter changs in [64, 128, 256, 512, 1024, 1518]:: + + testpmd>set txpkts [frame_size] + testpmd>start tx_first 32 + +9. Get throughput 10 times and calculate the average throughput,check the throughput of 8 queues is eight times of 1 queue:: + + testpmd>show port stats all \ No newline at end of file -- 2.17.1