From patchwork Thu May 19 08:14: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: 111392 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 0D55BA0503; Thu, 19 May 2022 10:15:27 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 07F7342B73; Thu, 19 May 2022 10:15:27 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 2BEE940222 for ; Thu, 19 May 2022 10:15:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652948125; x=1684484125; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=55AcUF6Exch4BpErEZhgZwP9TDOqnYd5F/jaL69Mm6k=; b=Z811Kt2RB1ZaIUwADFW+nPF971HGLSmbQw6zEFbuffDlc9nDZkiyMs9A zTKYTFXobMUTlf4b8Gl8yphjviynyRa6Y/00I2ItSTdUHLYq+3tzC2gVx 7LmmgLuOpmqWqNykb45beTBG8MgxnFkFLj1ZnPRrzX6K+HB7fByNk/ivM wTgEB84EkOuer1Ko/w6a2avbj5YTvnRgG6rhZg+uFnzrJMahekr0kHJTi 4pDICLkkl86o0HRE3MQkWeSenSejXIyjqWKxdRbvY89Ufd4+3fRWGbW/T nMow+Z5angK97hmPz8THJGr6Tcvp2EEbY10XULg0Vig8p2d6azOGeDdOi g==; X-IronPort-AV: E=McAfee;i="6400,9594,10351"; a="271783791" X-IronPort-AV: E=Sophos;i="5.91,237,1647327600"; d="scan'208";a="271783791" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2022 01:15:24 -0700 X-IronPort-AV: E=Sophos;i="5.91,237,1647327600"; d="scan'208";a="714871785" Received: from unknown (HELO localhost.localdomain) ([10.239.251.222]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2022 01:15:23 -0700 From: Wei Ling To: dts@dpdk.org Cc: Wei Ling Subject: [dts][PATCH V1 3/5] tests/vhost_user_interrupt: migrate CBDMA related testcase to new testsuite Date: Thu, 19 May 2022 04:14:02 -0400 Message-Id: <20220519081402.2816113-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 Migrate CBDMA related testcase to new testsuite. Signed-off-by: Wei Ling --- tests/TestSuite_vhost_user_interrupt.py | 129 +++--------------------- 1 file changed, 13 insertions(+), 116 deletions(-) diff --git a/tests/TestSuite_vhost_user_interrupt.py b/tests/TestSuite_vhost_user_interrupt.py index cba66294..cf55e382 100644 --- a/tests/TestSuite_vhost_user_interrupt.py +++ b/tests/TestSuite_vhost_user_interrupt.py @@ -56,13 +56,8 @@ class TestVhostUserInterrupt(TestCase): self.app_testpmd_path = self.dut.apps_name["test-pmd"] self.testpmd_name = self.app_testpmd_path.split("/")[-1] self.l3fwdpower_name = self.app_l3fwd_power_path.split("/")[-1] - self.dut_ports = self.dut.get_ports() self.ports_socket = self.dut.get_numa_id(self.dut_ports[0]) - # get cbdma device - self.cbdma_dev_infos = [] - self.dmas_info = None - self.device_str = None def set_up(self): """ @@ -93,7 +88,7 @@ class TestVhostUserInterrupt(TestCase): self.core_list_virtio = core_list[0 : self.queues + 1] self.core_list_l3fwd = core_list[self.queues + 1 : need_num] - def lanuch_virtio_user(self, packed=False, cbdma=False): + def lanuch_virtio_user(self, packed=False): """ launch virtio-user with server mode """ @@ -104,18 +99,13 @@ class TestVhostUserInterrupt(TestCase): else "net_virtio_user0,mac=%s,path=./vhost-net,server=1,queues=%d,packed_vq=1" % (self.vmac, self.queues) ) - if cbdma == True: - eal_params = self.dut.create_eal_parameters( - cores=self.core_list_virtio, prefix="virtio", no_pci=True, vdevs=[vdev] - ) - else: - eal_params = self.dut.create_eal_parameters( - cores=self.core_list_virtio, - prefix="virtio", - no_pci=True, - ports=[self.pci_info], - vdevs=[vdev], - ) + eal_params = self.dut.create_eal_parameters( + cores=self.core_list_virtio, + prefix="virtio", + no_pci=True, + ports=[self.pci_info], + vdevs=[vdev], + ) if self.check_2M_env: eal_params += " --single-file-segments" para = " -- -i --rxq=%d --txq=%d --rss-ip" % (self.queues, self.queues) @@ -124,59 +114,6 @@ class TestVhostUserInterrupt(TestCase): command_line_client, "waiting for client connection...", 120 ) - def get_cbdma_ports_info_and_bind_to_dpdk(self, cbdma_num): - """ - get all cbdma ports - """ - out = self.dut.send_expect( - "./usertools/dpdk-devbind.py --status-dev dma", "# ", 30 - ) - device_info = out.split("\n") - for device in device_info: - pci_info = re.search("\s*(0000:\S*:\d*.\d*)", device) - if pci_info is not None: - dev_info = pci_info.group(1) - # the numa id of ioat dev, only add the device which - # on same socket with nic dev - bus = int(dev_info[5:7], base=16) - if bus >= 128: - cur_socket = 1 - else: - cur_socket = 0 - if self.ports_socket == cur_socket: - self.cbdma_dev_infos.append(pci_info.group(1)) - self.verify( - len(self.cbdma_dev_infos) >= cbdma_num, - "There no enough cbdma device to run this suite", - ) - used_cbdma = self.cbdma_dev_infos[0:cbdma_num] - dmas_info = "" - for dmas in used_cbdma: - number = used_cbdma.index(dmas) - dmas = "txq{}@{};".format(number, dmas) - dmas_info += dmas - self.dmas_info = dmas_info[:-1] - self.device_str = " ".join(used_cbdma) - self.dut.send_expect( - "./usertools/dpdk-devbind.py --force --bind=%s %s" - % (self.drivername, self.device_str), - "# ", - 60, - ) - - def bind_cbdma_device_to_kernel(self): - if self.device_str is not None: - self.dut.send_expect("modprobe ioatdma", "# ") - self.dut.send_expect( - "./usertools/dpdk-devbind.py -u %s" % self.device_str, "# ", 30 - ) - self.dut.send_expect( - "./usertools/dpdk-devbind.py --force --bind=ioatdma %s" - % self.device_str, - "# ", - 60, - ) - @property def check_2M_env(self): out = self.dut.send_expect( @@ -184,7 +121,7 @@ class TestVhostUserInterrupt(TestCase): ) return True if out == "2048" else False - def lanuch_l3fwd_power(self, cbdma=False): + def lanuch_l3fwd_power(self): """ launch l3fwd-power with a virtual vhost device """ @@ -199,23 +136,10 @@ class TestVhostUserInterrupt(TestCase): self.verify_info.append(info) example_cmd = self.app_l3fwd_power_path + " " - if cbdma == True: - example_cmd += " --log-level=9 " - self.get_cbdma_ports_info_and_bind_to_dpdk(4) - vdev = "'net_vhost0,iface=vhost-net,queues=%d,client=1,dmas=[%s]'" % ( - self.queues, - self.dmas_info, - ) - eal_params = self.dut.create_eal_parameters( - cores=self.core_list_l3fwd, - ports=self.cbdma_dev_infos[0:4], - vdevs=[vdev], - ) - else: - vdev = "net_vhost0,iface=vhost-net,queues=%d,client=1" % self.queues - eal_params = self.dut.create_eal_parameters( - cores=self.core_list_l3fwd, no_pci=True, vdevs=[vdev] - ) + vdev = "net_vhost0,iface=vhost-net,queues=%d,client=1" % self.queues + eal_params = self.dut.create_eal_parameters( + cores=self.core_list_l3fwd, no_pci=True, vdevs=[vdev] + ) para = " -- -p 0x1 --parse-ptype 1 --config '%s' --interrupt-only" % config_info command_line_client = example_cmd + eal_params + para self.vhost.get_session_before(timeout=2) @@ -315,32 +239,6 @@ class TestVhostUserInterrupt(TestCase): self.virtio_user.send_expect("set fwd txonly", "testpmd> ", 20) self.send_and_verify() - def test_wake_up_split_ring_vhost_user_core_with_l3fwd_power_sample_when_multi_queues_enabled_and_cbdma_enabled( - self, - ): - """ - Test Case5: Wake up split ring vhost-user cores with l3fwd-power sample when multi queues and cbdma are enabled - """ - self.queues = 4 - self.get_core_list() - self.lanuch_virtio_user(cbdma=True) - self.lanuch_l3fwd_power(cbdma=True) - self.virtio_user.send_expect("set fwd txonly", "testpmd> ", 20) - self.send_and_verify() - - def test_wake_up_packed_ring_vhost_user_core_with_l3fwd_power_sample_when_multi_queues_enabled_and_cbdma_enabled( - self, - ): - """ - Test Case6: Wake up packed ring vhost-user cores with l3fwd-power sample when multi queues and cbdma are enabled - """ - self.queues = 4 - self.get_core_list() - self.lanuch_virtio_user(packed=True, cbdma=True) - self.lanuch_l3fwd_power(cbdma=True) - self.virtio_user.send_expect("set fwd txonly", "testpmd> ", 20) - self.send_and_verify() - def tear_down(self): """ Run after each test case. @@ -349,7 +247,6 @@ class TestVhostUserInterrupt(TestCase): self.dut.send_expect("killall %s" % self.l3fwdpower_name, "#") self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#") self.dut.kill_all() - self.bind_cbdma_device_to_kernel() def tear_down_all(self): """