From patchwork Wed Aug 3 02:04:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ling, WeiX" X-Patchwork-Id: 114558 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 4DB27A00C5; Wed, 3 Aug 2022 04:09:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 456F840E50; Wed, 3 Aug 2022 04:09:43 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 3B09240141 for ; Wed, 3 Aug 2022 04:09:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659492581; x=1691028581; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=935e2sTkCiegjI/GqGEkN8gPDLe37NGmTbU+XsQG7WA=; b=jLy14LdHTSIzgkVLg3KNj6UqTSlZJDMIIX/++hYhXi3NfQgWANVTUmvH 5GXdodmTV5dwjXgWR6oumNPVUrFyAq9gFBdeF8OHcnwhsHiYPXGpAb2k6 3vSyN9uJmr0w4jK34mUGc2bv5dfO8sQX3B27GhjHk23DrFJH7RSQfnMfT Q8hTVHSb5IT4yWYFb72dupWS33JZtUV5hFVfAKLE8M78CwB8J32DAwhM7 JJKLj/JJu67cJVYdTpij6JiXoBJ4lfqBqsqWzxxiLWQD0HuARmYYf9E7H 6mP8pJCHn88BGAJSIyHQtxsDwzSKi5VB3wipwetQ/FCw8vn+/PMEcF2cT Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10427"; a="269942226" X-IronPort-AV: E=Sophos;i="5.93,212,1654585200"; d="scan'208,223";a="269942226" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2022 19:09:40 -0700 X-IronPort-AV: E=Sophos;i="5.93,212,1654585200"; d="scan'208,223";a="630956352" Received: from unknown (HELO localhost.localdomain) ([10.239.252.222]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2022 19:09:38 -0700 From: Wei Ling To: dts@dpdk.org Cc: Wei Ling Subject: [dts][PATCH V2 2/2] tests/vhost_virtio_pmd_interrupt_cbdma: modify testsuite to test virtio dequeue Date: Tue, 2 Aug 2022 22:04:02 -0400 Message-Id: <20220803020402.1123908-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 vhost_virtio_pmd_interrupt_cbdma testsuite to test the split and packed ring async dequeue feature. Signed-off-by: Wei Ling --- ...tSuite_vhost_virtio_pmd_interrupt_cbdma.py | 209 ++++++++++++------ 1 file changed, 145 insertions(+), 64 deletions(-) diff --git a/tests/TestSuite_vhost_virtio_pmd_interrupt_cbdma.py b/tests/TestSuite_vhost_virtio_pmd_interrupt_cbdma.py index 779010ba..e8132a8a 100644 --- a/tests/TestSuite_vhost_virtio_pmd_interrupt_cbdma.py +++ b/tests/TestSuite_vhost_virtio_pmd_interrupt_cbdma.py @@ -33,7 +33,7 @@ class TestVhostVirtioPmdInterruptCbdma(TestCase): [n for n in self.dut.cores if int(n["socket"]) == self.ports_socket] ) self.core_list = self.dut.get_core_list("all", socket=self.ports_socket) - self.core_list_vhost = self.core_list[0:17] + self.vhost_core_list = self.core_list[0:17] self.tx_port = self.tester.get_local_port(self.dut_ports[0]) self.dst_mac = self.dut.get_mac_address(self.dut_ports[0]) self.logger.info( @@ -138,7 +138,7 @@ class TestVhostVirtioPmdInterruptCbdma(TestCase): 2 * self.queues + 2 ) if mode == 0: - vm_params["opt_settings"] = "disable-modern=true," + opt_param + vm_params["opt_settings"] = opt_param elif mode == 1: vm_params["opt_settings"] = "disable-modern=false," + opt_param self.vm.set_vm_device(**vm_params) @@ -301,38 +301,74 @@ class TestVhostVirtioPmdInterruptCbdma(TestCase): self.dut.close_session(vm_dut2) self.vhost_pmd.quit() - def test_perf_virtio_interrupt_with_16_queues_and_cbdma_enabled(self): + def test_perf_virtio95_interrupt_test_with_16_queues_and_cbdma_enable(self): """ - Test Case1: Basic virtio interrupt test with 16 queues and cbdma enabled + Test Case1: Basic virtio0.95 interrupt test with 16 queues and cbdma enable """ - self.get_cbdma_ports_info_and_bind_to_dpdk(16, allow_diff_socket=True) + self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=16, allow_diff_socket=True) lcore_dma = ( - f"[lcore{self.core_list_vhost[1]}@{self.cbdma_list[0]}," - f"lcore{self.core_list[2]}@{self.cbdma_list[0]}," - f"lcore{self.core_list[3]}@{self.cbdma_list[1]}," - f"lcore{self.core_list[3]}@{self.cbdma_list[2]}," - f"lcore{self.core_list[4]}@{self.cbdma_list[3]}," - f"lcore{self.core_list[5]}@{self.cbdma_list[4]}," - f"lcore{self.core_list[6]}@{self.cbdma_list[5]}," - f"lcore{self.core_list[7]}@{self.cbdma_list[6]}," - f"lcore{self.core_list[8]}@{self.cbdma_list[7]}," - f"lcore{self.core_list[9]}@{self.cbdma_list[8]}," - f"lcore{self.core_list[10]}@{self.cbdma_list[9]}," - f"lcore{self.core_list[11]}@{self.cbdma_list[10]}," - f"lcore{self.core_list[12]}@{self.cbdma_list[11]}," - f"lcore{self.core_list[13]}@{self.cbdma_list[12]}," - f"lcore{self.core_list[14]}@{self.cbdma_list[13]}," - f"lcore{self.core_list[15]}@{self.cbdma_list[14]}," - f"lcore{self.core_list[16]}@{self.cbdma_list[15]}]" + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s" + % ( + self.vhost_core_list[1], + self.cbdma_list[0], + self.vhost_core_list[2], + self.cbdma_list[0], + self.vhost_core_list[3], + self.cbdma_list[1], + self.vhost_core_list[3], + self.cbdma_list[2], + self.vhost_core_list[4], + self.cbdma_list[3], + self.vhost_core_list[5], + self.cbdma_list[4], + self.vhost_core_list[6], + self.cbdma_list[5], + self.vhost_core_list[7], + self.cbdma_list[6], + self.vhost_core_list[8], + self.cbdma_list[7], + self.vhost_core_list[9], + self.cbdma_list[8], + self.vhost_core_list[10], + self.cbdma_list[9], + self.vhost_core_list[11], + self.cbdma_list[10], + self.vhost_core_list[12], + self.cbdma_list[11], + self.vhost_core_list[13], + self.cbdma_list[12], + self.vhost_core_list[14], + self.cbdma_list[13], + self.vhost_core_list[15], + self.cbdma_list[14], + self.vhost_core_list[16], + self.cbdma_list[15], + ) ) - vhost_param = "--nb-cores=16 --rxq=16 --txq=16 --rss-ip --lcore-dma={}".format( - lcore_dma + vhost_param = ( + "--nb-cores=16 --rxq=16 --txq=16 --rss-ip --lcore-dma=[%s]" % lcore_dma ) - vhost_eal_param = "--vdev 'eth_vhost0,iface=vhost-net,queues=16,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;txq6;txq7;txq8;txq9;txq10;txq11;txq12;txq13;txq14;txq15]'" + vhost_eal_param = "--vdev 'eth_vhost0,iface=vhost-net,queues=16,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;txq6;txq7;txq8;txq9;txq10;txq11;txq12;txq13;txq14;txq15;rxq0;rxq1;rxq2;rxq3;rxq4;rxq5;rxq6;rxq7;rxq8;rxq9;rxq10;rxq11;rxq12;rxq13;rxq14;rxq15]'" ports = self.cbdma_list ports.append(self.dut.ports_info[0]["pci"]) self.vhost_pmd.start_testpmd( - cores=self.core_list_vhost, + cores=self.vhost_core_list, ports=ports, prefix="vhost", eal_param=vhost_eal_param, @@ -346,28 +382,35 @@ class TestVhostVirtioPmdInterruptCbdma(TestCase): self.launch_l3fwd_power_in_vm() self.send_and_verify() - def test_perf_virtio10_interrupt_with_4_queues_and_cbdma_enabled(self): + def test_perf_virtio10_interrupt_test_with_4_queues_and_cbdma_enable(self): """ - Test Case2: Basic virtio-1.0 interrupt test with 4 queues and cbdma enabled + Test Case2: Basic virtio-1.0 interrupt test with 4 queues and cbdma enable """ - self.get_cbdma_ports_info_and_bind_to_dpdk(4) + self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=4) lcore_dma = ( - f"[lcore{self.core_list_vhost[1]}@{self.cbdma_list[0]}," - f"lcore{self.core_list_vhost[2]}@{self.cbdma_list[0]}," - f"lcore{self.core_list_vhost[3]}@{self.cbdma_list[0]}," - f"lcore{self.core_list_vhost[3]}@{self.cbdma_list[1]}," - f"lcore{self.core_list_vhost[4]}@{self.cbdma_list[1]}]" - ) - vhost_param = "--nb-cores=4 --rxq=4 --txq=4 --rss-ip --lcore-dma={}".format( - lcore_dma + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + % ( + self.vhost_core_list[1], + self.cbdma_list[0], + self.vhost_core_list[2], + self.cbdma_list[1], + self.vhost_core_list[3], + self.cbdma_list[2], + self.vhost_core_list[4], + self.cbdma_list[3], + ) ) - vhost_eal_param = ( - "--vdev 'net_vhost0,iface=vhost-net,queues=4,dmas=[txq0;txq1;txq2;txq3]'" + vhost_param = ( + "--nb-cores=4 --rxq=4 --txq=4 --rss-ip --lcore-dma=[%s]" % lcore_dma ) + vhost_eal_param = "--vdev 'net_vhost0,iface=vhost-net,queues=4,dmas=[txq0;txq1;txq2;txq3;rxq0;rxq1;rxq2;rxq3]'" ports = self.cbdma_list ports.append(self.dut.ports_info[0]["pci"]) self.vhost_pmd.start_testpmd( - cores=self.core_list_vhost, + cores=self.vhost_core_list, ports=ports, prefix="vhost", eal_param=vhost_eal_param, @@ -381,38 +424,76 @@ class TestVhostVirtioPmdInterruptCbdma(TestCase): self.launch_l3fwd_power_in_vm() self.send_and_verify() - def test_perf_packed_ring_virtio_interrupt_with_16_queues_and_cbdma_enabled(self): + def test_perf_packed_ring_virtio_interrupt_test_with_16_queues_and_cbdma_enable( + self, + ): """ - Test Case3: Packed ring virtio interrupt test with 16 queues and cbdma enabled + Test Case3: Packed ring virtio interrupt test with 16 queues and cbdma enable """ - self.get_cbdma_ports_info_and_bind_to_dpdk(16, allow_diff_socket=True) + self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=16, allow_diff_socket=True) lcore_dma = ( - f"[lcore{self.core_list_vhost[1]}@{self.cbdma_list[0]}," - f"lcore{self.core_list[2]}@{self.cbdma_list[0]}," - f"lcore{self.core_list[3]}@{self.cbdma_list[1]}," - f"lcore{self.core_list[3]}@{self.cbdma_list[2]}," - f"lcore{self.core_list[4]}@{self.cbdma_list[3]}," - f"lcore{self.core_list[5]}@{self.cbdma_list[4]}," - f"lcore{self.core_list[6]}@{self.cbdma_list[5]}," - f"lcore{self.core_list[7]}@{self.cbdma_list[6]}," - f"lcore{self.core_list[8]}@{self.cbdma_list[7]}," - f"lcore{self.core_list[9]}@{self.cbdma_list[8]}," - f"lcore{self.core_list[10]}@{self.cbdma_list[9]}," - f"lcore{self.core_list[11]}@{self.cbdma_list[10]}," - f"lcore{self.core_list[12]}@{self.cbdma_list[11]}," - f"lcore{self.core_list[13]}@{self.cbdma_list[12]}," - f"lcore{self.core_list[14]}@{self.cbdma_list[13]}," - f"lcore{self.core_list[15]}@{self.cbdma_list[14]}," - f"lcore{self.core_list[16]}@{self.cbdma_list[15]}]" + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s," + "lcore%s@%s" + % ( + self.vhost_core_list[1], + self.cbdma_list[0], + self.vhost_core_list[2], + self.cbdma_list[0], + self.vhost_core_list[3], + self.cbdma_list[1], + self.vhost_core_list[3], + self.cbdma_list[2], + self.vhost_core_list[4], + self.cbdma_list[3], + self.vhost_core_list[5], + self.cbdma_list[4], + self.vhost_core_list[6], + self.cbdma_list[5], + self.vhost_core_list[7], + self.cbdma_list[6], + self.vhost_core_list[8], + self.cbdma_list[7], + self.vhost_core_list[9], + self.cbdma_list[8], + self.vhost_core_list[10], + self.cbdma_list[9], + self.vhost_core_list[11], + self.cbdma_list[10], + self.vhost_core_list[12], + self.cbdma_list[11], + self.vhost_core_list[13], + self.cbdma_list[12], + self.vhost_core_list[14], + self.cbdma_list[13], + self.vhost_core_list[15], + self.cbdma_list[14], + self.vhost_core_list[16], + self.cbdma_list[15], + ) ) - vhost_param = "--nb-cores=16 --rxq=16 --txq=16 --rss-ip --lcore-dma={}".format( - lcore_dma + vhost_param = ( + "--nb-cores=16 --rxq=16 --txq=16 --rss-ip --lcore-dma=[%s]" % lcore_dma ) - vhost_eal_param = "--vdev 'eth_vhost0,iface=vhost-net,queues=16,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;txq6;txq7;txq8;txq9;txq10;txq11;txq12;txq13;txq14;txq15]'" + vhost_eal_param = "--vdev 'eth_vhost0,iface=vhost-net,queues=16,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;txq6;txq7;txq8;txq9;txq10;txq11;txq12;txq13;txq14;txq15;rxq0;rxq1;rxq2;rxq3;rxq4;rxq5;rxq6;rxq7;rxq8;rxq9;rxq10;rxq11;rxq12;rxq13;rxq14;rxq15]'" ports = self.cbdma_list ports.append(self.dut.ports_info[0]["pci"]) self.vhost_pmd.start_testpmd( - cores=self.core_list_vhost, + cores=self.vhost_core_list, ports=ports, prefix="vhost", eal_param=vhost_eal_param,