From patchwork Wed Aug 4 14:41:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Tu, Lijuan" X-Patchwork-Id: 96649 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 1ECCBA0C4D; Wed, 4 Aug 2021 08:52:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 11C064120E; Wed, 4 Aug 2021 08:52:15 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id A05B94014F for ; Wed, 4 Aug 2021 08:52:12 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10065"; a="299451057" X-IronPort-AV: E=Sophos;i="5.84,293,1620716400"; d="scan'208";a="299451057" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Aug 2021 23:52:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,293,1620716400"; d="scan'208";a="479985068" Received: from unknown (HELO dpdk-lijuan.sh.intel.com) ([10.67.119.192]) by fmsmga008.fm.intel.com with ESMTP; 03 Aug 2021 23:52:07 -0700 From: Lijuan Tu To: dts@dpdk.org Cc: Lijuan Tu Date: Wed, 4 Aug 2021 22:41:53 +0800 Message-Id: <1628088115-756-4-git-send-email-lijuan.tu@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1628088115-756-1-git-send-email-lijuan.tu@intel.com> References: <1628088115-756-1-git-send-email-lijuan.tu@intel.com> Subject: [dts] [v2, 3/5] vm_power_manager: remove perf test cases 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 Sender: "dts" the cases are no longer maintained. Signed-off-by: Lijuan Tu Acked-by: Reshma Pattan --- test_plans/vm_power_manager_test_plan.rst | 65 ------------------ tests/TestSuite_vm_power_manager.py | 106 ------------------------------ 2 files changed, 171 deletions(-) diff --git a/test_plans/vm_power_manager_test_plan.rst b/test_plans/vm_power_manager_test_plan.rst index 992f315..7cac509 100644 --- a/test_plans/vm_power_manager_test_plan.rst +++ b/test_plans/vm_power_manager_test_plan.rst @@ -89,30 +89,6 @@ Prerequisites - libvirtd (libvirt) 1.1.3.5 - Add virio-serial port -4. IXIA Traffic Generator Configuration LPM table used for packet routing is: - - +---------+------------------------+----+ - | Entry # | LPM prefix (IP/length) | | - +---------+------------------------+----+ - | 0 | 1.1.1.0/24 | P0 | - +---------+------------------------+----+ - | 1 | 2.1.1.0/24 | P1 | - +---------+------------------------+----+ - - - The flows should be configured and started by the traffic generator. - - +------+---------+------------+---------+------+-------+--------+ - | Flow | Traffic | IPv4 | IPv4 | Port | Port | L4 | - | | Gen. | Src. | Dst. | Src. | Dest. | Proto. | - | | Port | Address | Address | | | | - +------+---------+------------+---------+------+-------+--------+ - | 1 | TG0 | 0.0.0.0 | 2.1.1.0 | any | any | UDP | - +------+---------+------------+---------+------+-------+--------+ - | 2 | TG1 | 0.0.0.0 | 1.1.1.0 | any | any | UDP | - +------+---------+------------+---------+------+-------+--------+ - - Test Case 1: VM Power Management Channel ======================================== @@ -282,44 +258,3 @@ Test Case 7: VM Power Management Multi VMs 8. Poweroff VM2 and remove VM2 from host vm_power_mgr:: vmpower> rm_vm - -Test Case 8: VM l3fwd-power Latency -=================================== -1. Connect two physical ports to IXIA -2. Start VM and run l3fwd-power:: - - l3fwd-power -c 6 -n 4 -- -p 0x3 --config '(P0,0,C{1.1.0}),(P1,0,C{1.2.0})' - -3. Configure packet flow in IxiaNetwork -4. Start to send packets from IXIA and check the receiving packets and latency -5. Record the latency of frame sizes 128 -6. Compare latency value with sample l3fwd - -Test Case 9: VM l3fwd-power Performance -======================================= -Start VM and run l3fwd-power:: - - l3fwd-power -c 6 -n 4 -- -p 0x3 --config '(P0,0,C{1.1.0}),(P1,0,C{1.2.0})' - -Input traffic linerate varied from 0 to 100%, in order to see cpu frequency -changes. - -The test report should provide the throughput rate measurements (in Mpps and % -of the line rate for 2x NIC ports) and cpu frequency as listed in the table -below: - - +---------------+---------------+-----------+ - | % Tx linerate | Rx % linerate | Cpu freq | - +---------------+---------------+-----------+ - | 0 | | | - +---------------+---------------+-----------+ - | 20 | | | - +---------------+---------------+-----------+ - | 40 | | | - +---------------+---------------+-----------+ - | 60 | | | - +---------------+---------------+-----------+ - | 80 | | | - +---------------+---------------+-----------+ - | 100 | | | - +---------------+---------------+-----------+ diff --git a/tests/TestSuite_vm_power_manager.py b/tests/TestSuite_vm_power_manager.py index 00910eb..fca122b 100644 --- a/tests/TestSuite_vm_power_manager.py +++ b/tests/TestSuite_vm_power_manager.py @@ -273,112 +273,6 @@ class TestVmPowerManager(TestCase, IxiaPacketGenerator): vm2_dut.send_expect("quit", "# ") vm2.stop() - def test_perf_vmpower_latency(self): - """ - Measure packet latency in VM - """ - latency_header = ['Frame Size', 'Max latency', 'Min lantecy', - 'Avg latency'] - - self.result_table_create(latency_header) - - rx_port = self.dut_ports[0] - tx_port = self.dut_ports[1] - - # build l3fwd-power - out = self.vm_dut.send_expect("make -C examples/l3fwd-power", "# ") - self.verify("Error" not in out, "compilation error 1") - self.verify("No such file" not in out, "compilation error 2") - # start l3fwd-power - l3fwd_app = "./examples/l3fwd-power/build/l3fwd-power" - - cmd = l3fwd_app + " -c 6 -n 4 -- -p 0x3 --config " + \ - "'(0,0,1),(1,0,2)'" - - self.vm_dut.send_expect(cmd, "L3FWD_POWER: entering main loop") - - for frame_size in self.frame_sizes: - # Prepare traffic flow - payload_size = frame_size - HEADER_SIZE['udp'] - \ - HEADER_SIZE['ip'] - HEADER_SIZE['eth'] - dmac = self.dut.get_mac_address(self.dut_ports[0]) - flow = 'Ether(dst="%s")/IP(dst="2.1.1.0")/UDP()' % dmac + \ - '/Raw("X"*%d)' % payload_size - self.tester.scapy_append('wrpcap("vmpower.pcap", [%s])' % flow) - self.tester.scapy_execute() - - tgen_input = [] - tgen_input.append((self.tester.get_local_port(rx_port), - self.tester.get_local_port(tx_port), - "vmpower.pcap")) - # run traffic generator - [latency] = self.tester.traffic_generator_latency(tgen_input) - print(latency) - table_row = [frame_size, latency['max'], latency['min'], - latency['average']] - self.result_table_add(table_row) - - self.result_table_print() - - self.vm_dut.kill_all() - - def test_perf_vmpower_frequency(self): - """ - Measure cpu frequency fluctuate with work load - """ - latency_header = ['Tx linerate%', 'Rx linerate%', 'Cpu freq'] - - self.result_table_create(latency_header) - - rx_port = self.dut_ports[0] - tx_port = self.dut_ports[1] - - # build l3fwd-power - out = self.vm_dut.send_expect("make -C examples/l3fwd-power", "# ") - self.verify("Error" not in out, "compilation error 1") - self.verify("No such file" not in out, "compilation error 2") - # start l3fwd-power - l3fwd_app = "./examples/l3fwd-power/build/l3fwd-power" - - cmd = l3fwd_app + " -c 6 -n 4 -- -p 0x3 --config " + \ - "'(0,0,1),(1,0,2)'" - - self.vm_dut.send_expect(cmd, "L3FWD_POWER: entering main loop") - - for rate in self.perf_rates: - # Prepare traffic flow - payload_size = self.def_framesize - HEADER_SIZE['udp'] - \ - HEADER_SIZE['ip'] - HEADER_SIZE['eth'] - dmac = self.dut.get_mac_address(self.dut_ports[0]) - flow = 'Ether(dst="%s")/IP(dst="2.1.1.0")/UDP()' % dmac + \ - '/Raw("X"*%d)' % payload_size - self.tester.scapy_append('wrpcap("vmpower.pcap", [%s])' % flow) - self.tester.scapy_execute() - - tgen_input = [] - tgen_input.append((self.tester.get_local_port(rx_port), - self.tester.get_local_port(tx_port), - "vmpower.pcap")) - - # register hook function for current cpu frequency - self.hook_transmissoin_func = self.get_freq_in_transmission - self.tester.extend_external_packet_generator(TestVmPowerManager, - self) - # run traffic generator, run 20 seconds for frequency stable - _, pps = self.tester.traffic_generator_throughput(tgen_input, - rate, - delay=20) - pps /= 1000000.0 - freq = self.cur_freq / 1000000.0 - wirespeed = self.wirespeed(self.nic, self.def_framesize, 1) - pct = pps * 100 / wirespeed - table_row = [rate, pct, freq] - self.result_table_add(table_row) - - self.result_table_print() - - self.vm_dut.kill_all() - def get_freq_in_transmission(self): self.cur_freq = self.get_cpu_frequency(self.vcpu_map[1]) print((utils.GREEN("Current cpu frequency %d" % self.cur_freq)))