From patchwork Fri Nov 18 09:54:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ling, WeiX" X-Patchwork-Id: 119967 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D0BABA0542; Fri, 18 Nov 2022 10:59:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CC07942D18; Fri, 18 Nov 2022 10:59:39 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 5A13241181 for ; Fri, 18 Nov 2022 10:59:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1668765578; x=1700301578; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=hN5g6nsEGQ86/AF3rsMsxytFwggzqE4sPEXzH3nsnQw=; b=JzzSGYa2Ziv8woX/0V91bCKMDOodw2pz6U0dnmCFDFXA+bQf2gyKITVn 4fNink7fg8RKVnQjKPvvYFRFCWCNjt9axoKfqAN+MsFPYQs3SkRsus3QY 3ZKPLh5i2xPj5kW6/IzMLzcNPy+K7NAkC9pduD5B2mtBE1Jpf0/oJKHRs Yq/T/7H4wzITnMHV/XtSJjWOeJhCGh3sId70kBTlJWWa1/iASE4bEsw1r Gb2HRoFKcPyo/KKTggWepQk/Jfxqec7oLUbahjTJ5LyUAvGvd9DOLVWm1 Kd0zuo8lb7kuMDAOKub/oapBwdpVq1JfqEkcPpy3GOq5S3NgCR6XcfT4H g==; X-IronPort-AV: E=McAfee;i="6500,9779,10534"; a="311806237" X-IronPort-AV: E=Sophos;i="5.96,173,1665471600"; d="scan'208";a="311806237" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Nov 2022 01:59:37 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10534"; a="708980222" X-IronPort-AV: E=Sophos;i="5.96,173,1665471600"; d="scan'208";a="708980222" Received: from unknown (HELO localhost.localdomain) ([10.239.252.222]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Nov 2022 01:59:36 -0800 From: Wei Ling To: dts@dpdk.org Cc: Wei Ling Subject: [dts][PATCH V1 2/3] test_plans/vhost_virtio_user_interrupt_with_power_monitor_test_plan: add new testplan Date: Fri, 18 Nov 2022 17:54:22 +0800 Message-Id: <20221118095422.635845-1-weix.ling@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 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 Add new testplan for testing vhost_user and virtio_user interrupt with power monitor mode. Signed-off-by: Wei Ling --- ...interrupt_with_power_monitor_test_plan.rst | 225 ++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 test_plans/vhost_virtio_user_interrupt_with_power_monitor_test_plan.rst diff --git a/test_plans/vhost_virtio_user_interrupt_with_power_monitor_test_plan.rst b/test_plans/vhost_virtio_user_interrupt_with_power_monitor_test_plan.rst new file mode 100644 index 00000000..f55555da --- /dev/null +++ b/test_plans/vhost_virtio_user_interrupt_with_power_monitor_test_plan.rst @@ -0,0 +1,225 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2022 Intel Corporation + +======================================================================= +Vhost_user virtio_user interrupt test with power monitor mode test plan +======================================================================= + +Description +=========== + +According to current semantics of power monitor. When no packet come in, the running core will sleep. Once +packets arrive, the value of address will be changed and the running core will wakeup. +This document provides the test plan for testing vhost_user and virtio_user interrupt with power monitor mode. + +Prerequisites +============== +multi-queue per core need enable RTM(Restricted Transactional Memory) in bios + +General set up +-------------- +1. Compile DPDK:: + + meson -Dexamples=l3fwd-power x86_64-native-linuxapp-gcc + ninja -C x86_64-native-linuxapp-gcc + +Test case +========= + +Test Case 1: Split ring virtio-user interrupt test with vhost-user as backed +---------------------------------------------------------------------------- + +1. Bind NIC port to vfio-pci. + +2. Launch vhost with testpmd:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --file-prefix=vhost \ + --vdev 'net_vhost0,iface=./vhost-net,queues=1' -- -i --rxq=1 --txq=1 + testpmd>start + +3. Launch virtio with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 3-4 -n 4 --no-pci --file-prefix=l3fwd-power \ + --vdev=virtio_user0,path=./vhost-net --log-level='user1,7' -- -p 1 --config="(0,0,4)" --parse-ptype --pmd-mgmt=monitor + +4. Sent imix packets from TG, check packets can forward back from vhost log:: + + testpmd>show port stats all + +5. Stop and start vhost, check packets can forward back again. + +Test Case 2: Split ring multi-queues virtio-user interrupt test with vhost-user as backed +----------------------------------------------------------------------------------------- + +1. Bind NIC port to vfio-pci. + +2. Launch vhost testpmd with 2queues:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --file-prefix=vhost \ + --vdev 'net_vhost0,iface=./vhost-net,queues=2' -- -i --rxq=2 --txq=2 + testpmd>start + +3. Launch virtio with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 3-4 -n 4 --no-pci --file-prefix=l3fwd-power \ + --vdev=virtio_user0,path=./vhost-net,queues=2 --log-level='user1,7' -- -p 1 --config="(0,0,3),(0,1,4)" --parse-ptype --pmd-mgmt=monitor + +4. Sent imix pkts from TG,check packets can fwd back and both 2 queues exist packets:: + + testpmd>show port stats all + testpmd>stop + +5. Restart vhost port, check packets can forward back and both 2 queues exist packets. + +Test Case 3:Wake up split ring vhost-user core with l3fwd-power sample +---------------------------------------------------------------------- + +1. bind nic port to vfio-pci + +2. Launch virtio-user with server mode:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-3 -n 4 --file-prefix=virtio-user \ + --vdev net_virtio_user0,path=./vhost-net,server=1 -- -i --rxq=1 --txq=1 + +3. Launch vhost with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 4-5 --file-prefix=vhost --no-pci \ + --vdev net_vhost0,iface=vhost-net,client=1 -- -p 0x01 --config="(0,0,4)" --pmd-mgmt=monitor --parse-ptype + +4. Start virtio-user:: + + testpmd>start + +5. Sent imix packets from TG, check packets can fwd back with correct payload. + +6. Stop and start virtio-user, check packets can forward back again. + +Test Case 4:Wake up split ring multi-queues vhost-user core with l3fwd-power sample +----------------------------------------------------------------------------------- + +Prerequisites +-------------- +multi-queue per core need enable RTM(Restricted Transactional Memory) in bios + +Flow:TG-->nic-->virtio-user-->vhost-user + +1. Bind NIC port to vfio-pci + +2. Launch virtio-user with server mode:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-3 -n 4 --file-prefix=virtio-user \ + --vdev net_virtio_user0,path=./vhost-net,queues=2,server=1 -- -i --rxq=2 --txq=2 + +3. Launch vhost with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 4-5 --file-prefix=vhost --no-pci \ + --vdev net_vhost0,iface=vhost-net,queues=2,client=1 -- -p 0x01 --config="(0,0,4),(0,1,5)" --pmd-mgmt=monitor --parse-ptype + +4. Start virtio-user:: + + testpmd>start + +5. Sent imix pkts from TG,check packets can fwd back and both 2 queues exist packets:: + + testpmd>show port stats all + testpmd>stop + +6. Restart virtio-user port, check packets can fwd back and both 2 queues exist packets. + +Test Case 5: Packed ring virtio-user interrupt test with vhost-user as backed +----------------------------------------------------------------------------- + +1. Bind NIC port to vfio-pci. + +2. Launch vhost with testpmd:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --file-prefix=vhost \ + --vdev 'net_vhost0,iface=./vhost-net,queues=1' -- -i --rxq=1 --txq=1 + testpmd>start + +3. Launch virtio with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 3-4 -n 4 --no-pci --file-prefix=l3fwd-power \ + --vdev=virtio_user0,path=./vhost-net,packed_vq=1 --log-level='user1,7' -- -p 1 --config="(0,0,3)" --parse-ptype --pmd-mgmt=monitor + +4. Sent imix pkts from TG, check packets can fwd back. + +5. Stop and start vhost, check packets can fwd back again. + +Test Case 6: Packed ring multi-queues virtio-user interrupt test with vhost-user as backed +------------------------------------------------------------------------------------------ + +Prerequisites +-------------- +multi-queue per core need enable RTM(Restricted Transactional Memory) in bios +1. Bind NIC port to vfio-pci. + +2. Launch vhost with testpmd:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --file-prefix=vhost \ + --vdev 'net_vhost0,iface=./vhost-net,queues=2' -- -i --rxq=2 --txq=2 + testpmd>start + +3. Launch virtio with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 3-4 -n 4 --no-pci --file-prefix=l3fwd-power \ + --vdev=virtio_user0,path=./vhost-net,queues=2,packed_vq=1 --log-level='user1,7' -- -p 1 --config="(0,0,3),(0,1,4)" --parse-ptype --pmd-mgmt=monitor + +4. Sent imix pkts from TG, check packets can fwd back and both 2 queues exist packets:: + + testpmd>show port stats all + testpmd>stop + +5. Restart vhost port, check packets can fwd back and both 2 queues exist packets. + +Test Case 7:Wake up packed ring vhost-user core with l3fwd-power sample +----------------------------------------------------------------------- + +1. Bind NIC port to vfio-pci + +2.Launch virtio-user with server mode:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-3 -n 4 --file-prefix=virtio-user \ + --vdev net_virtio_user0,path=./vhost-net,packed_vq=1,server=1 -- -i --rxq=1 --txq=1 + +3.Launch vhost with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 4-5 --file-prefix=vhost --no-pci \ + --vdev net_vhost0,iface=vhost-net,client=1 -- -p 0x01 --config="(0,0,4)" --pmd-mgmt=monitor --parse-ptype + +4. Start virtio-user:: + + testpmd>start + +5. Sent imix pkts from TG, check packets can fwd back. + +6. Stop and start virtio-user, check packets can forward back again. + +Test Case 8:Wake up packed ring multi-queues vhost-user core with l3fwd-power sample +------------------------------------------------------------------------------------ + +Prerequisites +-------------- +multi-queue per core need enable RTM(Restricted Transactional Memory) in bios +1. Bind NIC port to vfio-pci + +2. Launch virtio-user with server mode:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-3 -n 4 --file-prefix=virtio-user \ + --vdev net_virtio_user0,path=./vhost-net,queues=2,packed_vq=1,server=1 -- -i --rxq=2 --txq=2 + +3. Launch vhost with l3fwd-power:: + + ./x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 4-5 --file-prefix=vhost --no-pci \ + --vdev net_vhost0,iface=vhost-net,queues=2,client=1 -- -p 0x01 --config="(0,0,4),(0,1,5)" --pmd-mgmt=monitor --parse-ptype + +4. Start virtio-user:: + + testpmd>start + +5. Sent imix pkts from T, check packets can fwd back and both 2 queues exist packets:: + + testpmd>show port stats all + testpmd>stop + +6. Restart virtio-user port, check packets can fwd back and both 2 queues exist packets.