From patchwork Wed Aug 3 01:45:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ling, WeiX" X-Patchwork-Id: 114552 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 A7153A00C5; Wed, 3 Aug 2022 03:50:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A220440E50; Wed, 3 Aug 2022 03:50:41 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 6DFD540141 for ; Wed, 3 Aug 2022 03:50:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659491439; x=1691027439; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=8fLxkrManLQBHJZMyubvgtG3ZU3RVkNBZi4abn6G61A=; b=isQOpIxkOlMFMUepqetrzk288mU8t0WfHLW42bkViNfL7VTg6sOXxA9b bi9VkMOPn7wu0JMWazUMBS2BasKZlZY+OCYkz8+6jqVjTK+Z94YdCO+QP PG5eZK9Dyy5m3Lyzj0WKy4WZrlWBBb+v3bByqrhwX31nJkCjqX75B6UZw Wy9raXru5nST1LVgqZPACSQgPACdfpxA02X1AqkhRYEYzpZpuBoXWU1ef bpyqNKGkA9Ft0D63tYRWxfN1u5N7Mh0X1Kf+hOpBLG8VmBbWZpwLkivWf 58CHGF8M2VFeiK1wn/z9OcFxOCCKgi01YgZLXjq6VsdfM1YwAgNCN7zcI g==; X-IronPort-AV: E=McAfee;i="6400,9594,10427"; a="289570964" X-IronPort-AV: E=Sophos;i="5.93,212,1654585200"; d="scan'208,223";a="289570964" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2022 18:50:38 -0700 X-IronPort-AV: E=Sophos;i="5.93,212,1654585200"; d="scan'208,223";a="599488849" Received: from unknown (HELO localhost.localdomain) ([10.239.252.222]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2022 18:50:37 -0700 From: Wei Ling To: dts@dpdk.org Cc: Wei Ling Subject: [dts][PATCH V2 2/2] tests/dpdk_gro_lib_cbdma: modify testsuite to test virtio dequeue Date: Tue, 2 Aug 2022 21:45:01 -0400 Message-Id: <20220803014501.1122653-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 From DPDK-22.07, virtio support async dequeue for split and packed ring path, so modify dpdk_gro_lib_cbdma testsuite to test the split and packed ring async dequeue feature. Signed-off-by: Wei Ling Acked-by: Xingguang He Tested-by: Chenyu Huang Acked-by: Lijuan Tu --- tests/TestSuite_dpdk_gro_lib_cbdma.py | 56 ++++++++++++++++++--------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/tests/TestSuite_dpdk_gro_lib_cbdma.py b/tests/TestSuite_dpdk_gro_lib_cbdma.py index 27d1ed17..c77c7075 100644 --- a/tests/TestSuite_dpdk_gro_lib_cbdma.py +++ b/tests/TestSuite_dpdk_gro_lib_cbdma.py @@ -43,9 +43,9 @@ class TestDPDKGROLibCbdma(TestCase): ) self.path = self.dut.apps_name["test-pmd"] self.testpmd_name = self.path.split("/")[-1] - cores_list = self.dut.get_core_list(config="all", socket=self.ports_socket) - self.vhost_list = cores_list[0:3] - self.qemu_cpupin = cores_list[3:4][0] + self.cores_list = self.dut.get_core_list(config="all", socket=self.ports_socket) + self.vhost_core_list = self.cores_list[0:3] + self.qemu_cpupin = self.cores_list[3:4][0] # Set the params for VM self.virtio_ip1 = "1.1.1.2" @@ -175,6 +175,7 @@ class TestDPDKGROLibCbdma(TestCase): raise Exception("Set up VM ENV failed") except Exception as e: print((utils.RED("Failure for %s" % str(e)))) + self.vm1_dut.restore_interfaces() def iperf_result_verify(self, run_info): """ @@ -202,33 +203,49 @@ class TestDPDKGROLibCbdma(TestCase): iperfdata_kb = float(tmp_value) return iperfdata_kb - def check_dut_perf_top_info(self, check_string): - self.dut.send_expect("perf top", "# ") + def get_and_verify_func_name_of_perf_top(self, func_name_list): + self.dut.send_expect("rm -fr perf_top.log", "# ", 120) + self.dut.send_expect("perf top > perf_top.log", "", 120) + time.sleep(10) + self.dut.send_expect("^C", "#") + out = self.dut.send_expect("cat perf_top.log", "# ", 120) + self.logger.info(out) + for func_name in func_name_list: + self.verify( + func_name in out, + "the func_name {} is not in the perf top output".format(func_name), + ) def test_vhost_gro_tcp_ipv4_with_cbdma_enable(self): """ - Test Case1: DPDK GRO test with two queues and two CBDMA channels using tcp/ipv4 traffic + Test Case1: DPDK GRO test with two queues and cbdma channels using tcp/ipv4 traffic """ self.config_kernel_nic_host() self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=2) - lcore_dma = "[lcore{}@{},lcore{}@{},lcore{}@{}]".format( - self.vhost_list[1], - self.cbdma_list[0], - self.vhost_list[1], - self.cbdma_list[1], - self.vhost_list[2], - self.cbdma_list[1], + lcore_dma = ( + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + % ( + self.vhost_core_list[1], + self.cbdma_list[0], + self.vhost_core_list[1], + self.cbdma_list[1], + self.vhost_core_list[2], + self.cbdma_list[1], + ) ) param = ( - "--txd=1024 --rxd=1024 --txq=2 --rxq=2 --nb-cores=2 --lcore-dma={}".format( - lcore_dma - ) + "--txd=1024 --rxd=1024 --txq=2 --rxq=2 --nb-cores=2 --lcore-dma=[%s]" + % lcore_dma + ) + eal_param = ( + "--vdev 'net_vhost0,iface=vhost-net,queues=2,dmas=[txq0;txq1;rxq0;rxq1]'" ) - eal_param = "--vdev 'net_vhost0,iface=vhost-net,queues=2,dmas=[txq0;txq1]'" ports = self.cbdma_list ports.append(self.pci) self.vhost_pmd.start_testpmd( - cores=self.vhost_list, + cores=self.vhost_core_list, ports=ports, prefix="vhost", eal_param=eal_param, @@ -253,8 +270,9 @@ class TestDPDKGROLibCbdma(TestCase): "", 180, ) + self.func_name_list = ["virtio_dev_rx_async", "virtio_dev_tx_async"] + self.get_and_verify_func_name_of_perf_top(self.func_name_list) time.sleep(30) - print(out) perfdata = self.iperf_result_verify("GRO lib") print(("the GRO lib %s " % (self.output_result))) self.quit_testpmd()