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 63D7EA0597; Thu, 9 Apr 2020 14:48:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5731A1C1F7; Thu, 9 Apr 2020 14:48:57 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id CE2651C19F for ; Thu, 9 Apr 2020 14:48:54 +0200 (CEST) IronPort-SDR: WD4EOKJ93xT5LR/KOGrB+yG20XJzCXCzwyjgDVENI9VBoxoSN2596B6aB2Z/lwxLJRn+gVYMAy rZif+m1f/e1Q== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2020 05:48:53 -0700 IronPort-SDR: OAEXGHdKhC9etF/PuurIvB/L5fyaBQsckai5B3fT3M+vEdWDarc06ld5xKDvnrsuuDp927/OiE JlWAn/CjmqxQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,362,1580803200"; d="scan'208";a="398556197" Received: from dpdk-yinan-purley.sh.intel.com ([10.67.117.227]) by orsmga004.jf.intel.com with ESMTP; 09 Apr 2020 05:48:52 -0700 From: Yinan To: dts@dpdk.org Cc: Wang Yinan Date: Thu, 9 Apr 2020 20:31:10 +0000 Message-Id: <20200409203110.94053-1-yinan.wang@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dts] [PATCH v1] test_plans: add packed ring vectorized case for loopback_virtio_user_server_mode 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 --- ...back_virtio_user_server_mode_test_plan.rst | 138 ++++++++++++++---- 1 file changed, 107 insertions(+), 31 deletions(-) diff --git a/test_plans/loopback_virtio_user_server_mode_test_plan.rst b/test_plans/loopback_virtio_user_server_mode_test_plan.rst index ebcbacb..2716c91 100644 --- a/test_plans/loopback_virtio_user_server_mode_test_plan.rst +++ b/test_plans/loopback_virtio_user_server_mode_test_plan.rst @@ -37,7 +37,11 @@ vhost/virtio-user loopback server mode test plan Virtio-user server mode is a feature to enable virtio-user as the server, vhost as the client, thus after vhost-user is killed then relaunched, virtio-user can reconnect back to vhost-user again; at another hand, virtio-user also can reconnect back to vhost-user after virtio-user is killed. This feature test need cover different rx/tx paths with virtio 1.0 and virtio 1.1, includes split ring mergeable, non-mergeable, inorder mergeable, -inorder non-mergeable, vector_rx path and packed ring mergeable, non-mergeable, inorder non-mergeable, inorder mergeable path. +inorder non-mergeable, vector_rx path and packed ring mergeable, non-mergeable, inorder non-mergeable, inorder mergeable, vectorized path. +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: Basic test for packed ring server mode =================================================== @@ -442,7 +446,7 @@ Test Case 7: loopback reconnect test with split ring vector_rx path and server m testpmd>stop Test Case 8: loopback reconnect test with packed ring mergeable path and server mode -==================================================================================== +=================================================================================== 1. launch vhost as client mode with 2 queues:: @@ -503,18 +507,18 @@ Test Case 8: loopback reconnect test with packed ring mergeable path and server 10. Port restart at vhost side by below command and re-calculate the average throughput:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd>stop + testpmd>port stop 0 + testpmd>port start 0 + testpmd>start tx_first 32 + testpmd>show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd>stop Test Case 9: loopback reconnect test with packed ring non-mergeable path and server mode -======================================================================================== +======================================================================================= 1. launch vhost as client mode with 2 queues:: @@ -575,18 +579,18 @@ Test Case 9: loopback reconnect test with packed ring non-mergeable path and ser 10. Port restart at vhost side by below command and re-calculate the average throughput:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd>stop + testpmd>port stop 0 + testpmd>port start 0 + testpmd>start tx_first 32 + testpmd>show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd>stop Test Case 10: loopback reconnect test with packed ring inorder mergeable path and server mode -============================================================================================= +=========================================================================================== 1. launch vhost as client mode with 2 queues:: @@ -647,18 +651,18 @@ Test Case 10: loopback reconnect test with packed ring inorder mergeable path an 10. Port restart at vhost side by below command and re-calculate the average throughput:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd>stop + testpmd>port stop 0 + testpmd>port start 0 + testpmd>start tx_first 32 + testpmd>show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd>stop Test Case 11: loopback reconnect test with packed ring inorder non-mergeable path and server mode -================================================================================================= +=============================================================================================== 1. launch vhost as client mode with 2 queues:: @@ -671,7 +675,79 @@ Test Case 11: loopback reconnect test with packed ring inorder non-mergeable pat 2. Launch virtio-user as server mode with 2 queues:: ./testpmd -n 4 -l 5-7 --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,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1 \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 + >set fwd mac + >start tx_first 32 + +3. Quit vhost side testpmd, check the virtio-user side link status:: + + testpmd> show port info 0 + #it should show "down" + +4. Relaunch vhost and send packets:: + + ./testpmd -c 0xe -n 4 --socket-mem 1024,1024 --legacy-mem --no-pci --file-prefix=vhost \ + --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 + >set fwd mac + >start tx_first 32 + +5. Check the virtio-user side link status and run below command to get throughput,verify the loopback throughput is not zero:: + + testpmd> show port info 0 + #it should show up" + testpmd>show port stats all + +6. Check each RX/TX queue has packets:: + + testpmd>stop + +7. Quit virtio-user side testpmd, check the vhost side link status:: + + testpmd> show port info 0 + #it should show "down" + +8. Relaunch virtio-user and send packets:: + + ./testpmd -n 4 -l 5-7 --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,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 + >set fwd mac + >start tx_first 32 + +9. Check the vhost side link status and run below command to get throughput, verify the loopback throughput is not zero:: + + testpmd> show port info 0 + #it should show up" + testpmd>show port stats all + +10. Port restart at vhost side by below command and re-calculate the average throughput:: + + testpmd>stop + testpmd>port stop 0 + testpmd>port start 0 + testpmd>start tx_first 32 + testpmd>show port stats all + +11. Check each RX/TX queue has packets:: + + testpmd>stop + +Test Case 12: loopback reconnect test with packed ring vectorized path and server mode +======================================================================================= + +1. launch vhost as client mode with 2 queues:: + + rm -rf vhost-net* + ./testpmd -c 0xe -n 4 --log-level=pmd.net.vhost.driver,8 --no-pci --file-prefix=vhost \ + --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 + >set fwd mac + >start + +2. Launch virtio-user as server mode with 2 queues:: + + ./testpmd -n 4 -l 5-7 --log-level=pmd.net.virtio.driver,8 --no-pci --file-prefix=virtio \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 >set fwd mac >start tx_first 32 @@ -706,7 +782,7 @@ Test Case 11: loopback reconnect test with packed ring inorder non-mergeable pat 8. Relaunch virtio-user and send packets:: ./testpmd -n 4 -l 5-7 --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,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1 \ + --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 >set fwd mac >start tx_first 32 @@ -719,12 +795,12 @@ Test Case 11: loopback reconnect test with packed ring inorder non-mergeable pat 10. Port restart at vhost side by below command and re-calculate the average throughput:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd>stop + testpmd>port stop 0 + testpmd>port start 0 + testpmd>start tx_first 32 + testpmd>show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop \ No newline at end of file + testpmd>stop \ No newline at end of file -- 2.17.1