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 24870A0597; Thu, 9 Apr 2020 14:47:29 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 093311C1E0; Thu, 9 Apr 2020 14:47:29 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 280921C112 for ; Thu, 9 Apr 2020 14:47:26 +0200 (CEST) IronPort-SDR: qhhhp6wLccUXpzmHxfHoIsjsNtKWt8/UrhFap7yODdlxb7f6btSyimBzDKwHWPDtIzL4QEOBMe k0k0Ifc/vRhg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2020 05:47:26 -0700 IronPort-SDR: tF1Z1Oozjb4ruwfXSg8+8AkBI3+eJbIejsmzphH5MmVU6dQ6dRjEoMtTKg4j5xHx3SPmNKptxF ngRgxrSsMJBQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,362,1580803200"; d="scan'208";a="425495023" Received: from dpdk-yinan-purley.sh.intel.com ([10.67.117.227]) by orsmga005.jf.intel.com with ESMTP; 09 Apr 2020 05:47:24 -0700 From: Yinan To: dts@dpdk.org Cc: Wang Yinan Date: Thu, 9 Apr 2020 20:29:42 +0000 Message-Id: <20200409202942.93992-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 case for 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 --- .../loopback_multi_queues_test_plan.rst | 75 +++++++++++++++++-- 1 file changed, 70 insertions(+), 5 deletions(-) diff --git a/test_plans/loopback_multi_queues_test_plan.rst b/test_plans/loopback_multi_queues_test_plan.rst index 75cfd8d..e890b30 100644 --- a/test_plans/loopback_multi_queues_test_plan.rst +++ b/test_plans/loopback_multi_queues_test_plan.rst @@ -34,7 +34,14 @@ vhost/virtio-user loopback with multi-queues test plan ====================================================== -This test plan test vhost/virtio-user loopback multi-queues with split virtqueue and packed virtqueue different rx/tx paths, includes split virtqueue in-order mergeable, in-order non-mergeable, mergeable, non-mergeable, vector_rx path test, and packed virtqueue in-order mergeable, in-order non-mergeable, mergeable, non-mergeable 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. +This test plan test loopback multi-queues with split virtqueue mergeable, non-mergeable, vectorized_rx, +inorder mergeable, inorder non-mergeable path, and packed virtqueue mergeable, non-mergeable,inorder mergeable, +inorder non-mergeable, vectorized 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. +Note: Packed virtqueue 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 Case 1: loopback with virtio 1.1 mergeable path using 1 queue and 8 queues =============================================================================== @@ -502,7 +509,7 @@ Test Case 8: loopback with virtio 1.1 inorder mergeable path using 1 queue and 8 ./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=1,in_order=0 \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=8,packed_vq=1,mrg_rxbuf=1,in_order=1 \ -- -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start @@ -522,7 +529,65 @@ Test Case 9: loopback with virtio 1.1 inorder non-mergeable path using 1 queue a 1. Launch testpmd by below command:: rm -rf vhost-net* - ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + ./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-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=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --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]:: + + 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. 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 --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,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --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 10: loopback with virtio 1.1 vectorized path using 1 queue and 8 queues +================================================================================= + +1. Launch testpmd by below command:: + + rm -rf vhost-net* + ./testpmd -l 1-2 -n 4 --no-pci \ --vdev 'eth_vhost0,iface=vhost-net,queues=1' -- \ -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac @@ -531,7 +596,7 @@ Test Case 9: loopback with virtio 1.1 inorder non-mergeable path using 1 queue a ./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=1,packed_vq=1,mrg_rxbuf=0,in_order=1 \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ -- -i --nb-cores=1 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start @@ -562,7 +627,7 @@ Test Case 9: loopback with virtio 1.1 inorder non-mergeable path using 1 queue a ./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 \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=8,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ -- -i --nb-cores=8 --rxq=8 --txq=8 --txd=1024 --rxd=1024 testpmd>set fwd mac testpmd>start -- 2.17.1