From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id D9F182BB8 for ; Wed, 27 Feb 2019 03:10:36 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Feb 2019 18:10:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,417,1544515200"; d="scan'208";a="137489306" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 26 Feb 2019 18:10:35 -0800 Received: from fmsmsx154.amr.corp.intel.com (10.18.116.70) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 26 Feb 2019 18:10:35 -0800 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by FMSMSX154.amr.corp.intel.com (10.18.116.70) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 26 Feb 2019 18:10:34 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.110]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.232]) with mapi id 14.03.0415.000; Wed, 27 Feb 2019 10:10:32 +0800 From: "Ma, LihongX" To: "dts@dpdk.org" CC: "Zhang, Yuwei1" Thread-Topic: [dts] [PATCH V2] remove duplicate external mempool handler test plan and script Thread-Index: AQHUzju5V0QVwurElk2kZaUpkjm7AKXy3HSQ Date: Wed, 27 Feb 2019 02:10:32 +0000 Message-ID: References: <1551204453-12098-1-git-send-email-lihongx.ma@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH V2] remove duplicate external mempool handler test plan and script X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Feb 2019 02:10:37 -0000 Tested-by: ma,lihong -----Original Message----- From: Zhang, Yuwei1=20 Sent: Wednesday, February 27, 2019 9:28 AM To: Ma, LihongX ; dts@dpdk.org Cc: Ma, LihongX Subject: RE: [dts] [PATCH V2] remove duplicate external mempool handler tes= t plan and script Acked-by: Yuwei Zhang -----Original Message----- From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of lihong Sent: Wednesday, February 27, 2019 2:08 AM To: dts@dpdk.org Cc: Ma, LihongX Subject: [dts] [PATCH V2] remove duplicate external mempool handler test pl= an and script The content of external_mempool_handler_test_plan.rst is repeated with memp= ool_exthandler_test_plan.rst The content of TestSuite_external_mempool_hand= ler.py is repeated with TestSuite_mempool_exthandler.py Signed-off-by: lihong --- test_plans/mempool_exthandler_test_plan.rst | 70 ----------- tests/TestSuite_mempool_exthandler.py | 173 ------------------------= ---- 2 files changed, 243 deletions(-) delete mode 100644 test_plans/mempool_exthandler_test_plan.rst delete mode 100644 tests/TestSuite_mempool_exthandler.py diff --git a/test_plans/mempool_exthandler_test_plan.rst b/test_plans/mempo= ol_exthandler_test_plan.rst deleted file mode 100644 index 86154c6..0000000 --- a/test_plans/mempool_exthandler_test_plan.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. Copyright (c) <2016-2017>, Intel Corporation - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - - Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D -External Mempool Handler Tests -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D - -External Mempool Handler feature is an extension to the mempool API that -= allows users to add and use an alternative mempool handler, which allows -e= xternal memory subsystems such as external hardware memory management -syst= ems and software based memory allocators to be used with DPDK. - -Test Case 1: Multiple producers and multiple consumers mempool handler -= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -1. Change default mempool operation to "ring_mp_mc" -2. Run l2fwd and check packet forwarding normally with this mempool handle= r. - -Test Case 2: Single producer and Single consumer mempool handler -=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -1. Change default mempool operation to "ring_sp_sc" -2. Run l2fwd and check packet forwarding normally with this mempool handle= r. - -Test Case 3: Single producer and Multiple consumers mempool handler -=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -1. Change default mempool operation to "ring_sp_mc" -2. Run l2fwd and check packet forwarding normally with this mempool handle= r. - -Test Case 4: Multiple producers and single consumer mempool handler -=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -1. Change default mempool operation to "ring_mp_sc" -2. Run l2fwd and check packet forwarding normally with this mempool handle= r. - -Test Case 5: External stack mempool handler -=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D - -1. Change default mempool operation to "stack" -2. Run l2fwd and check packet forwarding normally with this mempool handle= r. diff --git a/tests/TestSuite_mempool_exthandler.py b/tests/TestSuite_mempoo= l_exthandler.py deleted file mode 100644 index ec8ed48..0000000 --- a/tests/TestSuite_mempool_exthandler.py +++ /dev/null @@ -1,173 +0,0 @@ -# BSD LICENSE -# -# Copyright(c) 2010-2016 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# mo= dification, are permitted provided that the following conditions -# are met= : -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "= AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED= TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICU= LAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CON= TRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMP= LARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREME= NT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BU= SINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHET= HER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHE= RWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVIS= ED OF THE POSSIBILITY OF SUCH DAMAGE. - -""" -DPDK Test suite. -Test internal and external mempool handler -""" - -import utils -from test_case import TestCase - - -class TestMemExthandler(TestCase): - - def set_up_all(self): - """ - Run at the start of each test suite. - """ - # only one port is enough for this case - self.dut_ports =3D self.dut.get_ports() - self.verify(len(self.dut_ports) >=3D 1, - "Not enough ports for " + self.nic) - - self.core_mask =3D utils.create_mask(self.dut.get_core_list("1S/4C= /1T")) - self.port_mask =3D utils.create_mask([self.dut_ports[0]]) - - self.path =3D "./examples/l2fwd/build/app/l2fwd" - - # strip mempool size - self.main_path =3D "./examples/l2fwd/main.c" - out =3D self.dut.send_expect( - "cat %s | grep \"#define NB_MBUF\"" % self.main_path, "# ") - mp_str =3D utils.regexp(out, r"#define NB_MBUF (\d+)") - if mp_str is None: - mp_size =3D 8192 - else: - mp_size =3D int(mp_str) - - # make sure packets more than 2*mempool size - self.pkts =3D mp_size * 2 + 1000 - - def set_up(self): - """ - Run before each test case. - """ - pass - - def setup_mempool_handler(self, name): - """ - Prepare testing environment for specified mempool handler - """ - config =3D "CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS" - conf_file =3D "./config/common_base" - # change default mempool handler operations - self.dut.send_expect( - "sed -i 's/%s=3D.*$/%s=3D\"%s\"/' %s" % (config, config, name,= conf_file), "# ") - # rebuild dpdk target - self.dut.skip_setup =3D False - self.dut.build_install_dpdk(self.target) - # rebuild l2fwd - out =3D self.dut.build_dpdk_apps("./examples/l2fwd") - self.verify("Error" not in out, "Compilation error") - - def verify_mempool_hander(self): - """ - Verify that all packets are received and transmitted normally. - """ - # start l2fwd - command_line =3D "%s -n %d -c %s -- -q 4 -p %s" % \ - (self.path, self.dut.get_memory_channels(), - self.core_mask, self.port_mask) - # send packets over 2 * mempool size - self.dut.send_expect(command_line, "L2FWD: entering main loop", 60= ) - - # verify forwarded packets - traffic_flow =3D [] - tx_port =3D self.tester.get_local_port(self.dut_ports[0]) - rx_port =3D self.tester.get_local_port(self.dut_ports[0]) - traffic_flow.append((tx_port, rx_port)) - - result =3D self.tester.check_random_pkts(traffic_flow, - pktnum=3Dself.pkts, - allow_miss=3DFalse) - - self.verify(result is True, "Packet integrity check failed") - - # strip rx/tx statistic from l2fwd output - out =3D self.dut.get_session_output() - self.dut.send_expect("^C", "#", 30) - sent_list =3D utils.regexp(out, r"Total packets sent:(\s+)(\d+)", = allString=3DTrue) - total_sent =3D int(sent_list[-1][1]) - rcv_list =3D utils.regexp(out, r"Total packets received:(\s+)(\d+)= ", allString=3DTrue) - total_recv =3D int(rcv_list[-1][1]) - - self.verify(total_recv =3D=3D self.pkts, "L2fwd sample not receive= expected packets") - self.verify(total_sent =3D=3D self.pkts, "L2fwd sample not transmi= t expected packets") - - def test_mempool_stackhandler(self): - """ - Check packet rx/tx work with mempool stack handler. - """ - self.setup_mempool_handler("stack") - self.verify_mempool_hander() - - def test_mempool_spsc(self): - """ - Check packet rx/tx work with single producer/single consumer. - """ - self.setup_mempool_handler("ring_sp_sc") - self.verify_mempool_hander() - - def test_mempool_spmc(self): - """ - Check packet rx/tx work with single producer/multi consumers. - """ - self.setup_mempool_handler("ring_sp_mc") - self.verify_mempool_hander() - - def test_mempool_mpsc(self): - """ - Check packet rx/tx work with multi producers/single consumer. - """ - self.setup_mempool_handler("ring_mp_sc") - self.verify_mempool_hander() - - def test_mempool_mpmc(self): - """ - Check packet rx/tx work with multi producers/multi consumers. - """ - self.setup_mempool_handler("ring_mp_mc") - self.verify_mempool_hander() - - def tear_down(self): - """ - Run after each test case. - """ - self.dut.kill_all() - pass - - def tear_down_all(self): - """ - Run after each test suite. - """ - self.setup_mempool_handler("ring_mp_mc") - pass -- 2.7.4