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 94A98A0597; Thu, 9 Apr 2020 14:53:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 833B01C204; Thu, 9 Apr 2020 14:53:08 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id C14591C1D0 for ; Thu, 9 Apr 2020 14:53:06 +0200 (CEST) IronPort-SDR: 9bSbMPXU/71llzS+cF4aw2seE4m481pBI6SBhWMozjbalTIIW5M+1qZER+5cnMWfEbgZLooLL/ nY8z6/h+WMgQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2020 05:53:05 -0700 IronPort-SDR: 6juR8oS5GAonkcfbR5I2MugNCn7Odn/axWdrrIJ2UQOQNqn6i5SzSOOfkFn9GXJvoch1ONZsEh HrV21AQGvUXg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,362,1580803200"; d="scan'208";a="453150436" Received: from dpdk-yinan-purley.sh.intel.com ([10.67.117.227]) by fmsmga006.fm.intel.com with ESMTP; 09 Apr 2020 05:53:04 -0700 From: Yinan To: dts@dpdk.org Cc: Wang Yinan Date: Thu, 9 Apr 2020 20:35:22 +0000 Message-Id: <20200409203522.94234-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 vm2vm_virtio_user 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 --- test_plans/vm2vm_virtio_user_test_plan.rst | 83 ++++++++++++++++++++-- 1 file changed, 76 insertions(+), 7 deletions(-) diff --git a/test_plans/vm2vm_virtio_user_test_plan.rst b/test_plans/vm2vm_virtio_user_test_plan.rst index a28ca92..0aa2501 100644 --- a/test_plans/vm2vm_virtio_user_test_plan.rst +++ b/test_plans/vm2vm_virtio_user_test_plan.rst @@ -37,7 +37,11 @@ vm2vm vhost-user/virtio-user test plan Description =========== -This test plan includes split virtqueue vm2vm in-order mergeable, in-order non-mergeable, mergeable, non-mergeable, vector_rx path test, and packed virtqueue vm2vm in-order mergeable, in-order non-mergeable, mergeable, non-mergeable path test. This plan also check the payload of packets is accurate. For packed virtqueue test, need using qemu version > 4.2.0. +This test plan includes split virtqueue vm2vm in-order mergeable, in-order non-mergeable, mergeable, non-mergeable, vector_rx path test, and packed virtqueue vm2vm in-order mergeable, in-order non-mergeable, mergeable, non-mergeable, vectorized path test. This plan also check the payload of packets is accurate. +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 Prerequisites ============= @@ -283,8 +287,8 @@ Test Case 4: packed virtqueue vm2vm inorder non-mergeable path test ./testpmd -n 4 -l 7-8 --socket-mem 1024,1024 \ --no-pci --file-prefix=virtio1 \ - --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1 \ - -- -i --nb-cores=1 --txd=256 --rxd=256 + --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --nb-cores=1 --txd=256 --rxd=256 testpmd>set fwd rxonly testpmd>start @@ -296,8 +300,8 @@ Test Case 4: packed virtqueue vm2vm inorder non-mergeable path test ./testpmd -n 4 -l 5-6 --socket-mem 1024,1024 \ --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 \ - -- -i --nb-cores=1 --txd=256 --rxd=256 + --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=256 --rxd=256 testpmd>set burst 1 testpmd>start tx_first 27 testpmd>stop @@ -325,8 +329,8 @@ Test Case 4: packed virtqueue vm2vm inorder non-mergeable path test ./x86_64-native-linuxapp-gcc/app/testpmd -n 4 -l 7-8 --socket-mem 1024,1024 \ --no-pci \ - --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1 \ - -- -i --nb-cores=1 --txd=256 --rxd=256 + --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --rx-offloads=0x10 --nb-cores=1 --txd=256 --rxd=256 testpmd>set burst 1 testpmd>start tx_first 27 testpmd>stop @@ -672,4 +676,69 @@ Test Case 9: split virtqueue vm2vm vector_rx path test testpmd>set burst 32 testpmd>start tx_first 7 +9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same. + +Test Case 10: packed virtqueue vm2vm vectorized path test +========================================================= + +1. Launch testpmd by below command:: + + ./testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci \ + --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \ + -i --nb-cores=1 --no-flush-rx + +2. Launch virtio-user1 by below command:: + + ./testpmd -n 4 -l 7-8 --socket-mem 1024,1024 \ + --no-pci --file-prefix=virtio1 \ + --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --nb-cores=1 --txd=256 --rxd=256 + testpmd>set fwd rxonly + testpmd>start + +3. Attach pdump secondary process to primary process by same file-prefix:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000' + +4. Launch virtio-user0 and send 8k length packets:: + + ./testpmd -n 4 -l 5-6 --socket-mem 1024,1024 \ + --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 --nb-cores=1 --txd=256 --rxd=256 + testpmd>set burst 1 + testpmd>start tx_first 27 + testpmd>stop + testpmd>set burst 32 + testpmd>start tx_first 7 + testpmd>stop + testpmd>set txpkts 2000,2000,2000,2000 + testpmd>start tx_first 1 + +5. Start vhost, then quit pdump and three testpmd, get 251 packets received by virtio-user1 in pdump-virtio-rx.pcap. + +6. Launch testpmd by below command:: + + ./x86_64-native-linuxapp-gcc/app/testpmd -l 1-2 -n 4 --socket-mem 1024,1024 --no-pci --file-prefix=vhost \ + --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \ + -i --nb-cores=1 --no-flush-rx + testpmd>set fwd rxonly + testpmd>start + +7. Attach pdump secondary process to primary process by same file-prefix:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000' + +8. Launch virtio-user1 by below command:: + + ./x86_64-native-linuxapp-gcc/app/testpmd -n 4 -l 7-8 --socket-mem 1024,1024 \ + --no-pci \ + --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \ + -- -i --nb-cores=1 --txd=256 --rxd=256 + testpmd>set burst 1 + testpmd>start tx_first 27 + testpmd>stop + testpmd>set burst 32 + testpmd>start tx_first 7 + 9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same. \ No newline at end of file -- 2.17.1