From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id D7F321B28D for ; Thu, 7 Jun 2018 03:55:26 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2018 18:55:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,485,1520924400"; d="scan'208";a="235063149" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga005.fm.intel.com with ESMTP; 06 Jun 2018 18:55:25 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 6 Jun 2018 18:55:25 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 6 Jun 2018 18:55:25 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.82]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.116]) with mapi id 14.03.0319.002; Thu, 7 Jun 2018 09:55:23 +0800 From: "Tu, Lijuan" To: "Mo, YufengX" , "dts@dpdk.org" CC: "Mo, YufengX" Thread-Topic: [dts] [PATCH V1 1/2] memory_register: upstream test plan Thread-Index: AQHT/VfTYIfah95LD0+YlRMZgYXrp6RUCKrg Date: Thu, 7 Jun 2018 01:55:22 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20EE681AB@SHSMSX101.ccr.corp.intel.com> References: <1528263159-21324-1-git-send-email-yufengx.mo@intel.com> <1528263159-21324-2-git-send-email-yufengx.mo@intel.com> In-Reply-To: <1528263159-21324-2-git-send-email-yufengx.mo@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYjFlMTFkYzMtYzFjYy00MzRkLTk5M2YtZThhNWU5ZWQ3MTllIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoidjVabmVCVStPZDFQa0F2NVZDcDZZUlpDR1RcL2JBNEZXUzRQQWhlS212RVd6dkw0ZkVPeEliQmpnTnJjQmNpVTYifQ== 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 V1 1/2] memory_register: upstream test plan 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: Thu, 07 Jun 2018 01:55:27 -0000 Hi yufeng Only test case: dpdk malloc autotest is not contained in current tests. Suggest add this case in test suite: unit_tests_eal Other cases are duplicate ----------------------------------- -----+----------------------+----------= ----------+ your case |current case |current testsuite| ----------------------------------- -----+----------------------+----------= ----------+ dpdk mbuf autotest |mbuf |unit_tests_mbuf ----------------------------------- -----+----------------------+----------= ----------+ dpdk memcpy autotest |memcpy |unit_tests_eal ----------------------------------- -----+----------------------+----------= ----------+ dpdk memcpy perf autotest |memcpy_perf |unit_tests_eal ----------------------------------- -----+----------------------+----------= ----------+ dpdk memory autotest |memory |unit_tests_eal ----------------------------------- -----+----------------------+----------= ----------+ dpdk mempool autotest |mempool |unit_tests_mempool ----------------------------------- -----+----------------------+----------= ----------+ dpdk mempool perf autotest |mempool_perf |unit_tests_mempool ----------------------------------- -----+----------------------+----------= ----------+ dpdk memzone autotest |memzone |unit_tests_eal ----------------------------------- -----+----------------------+----------= ----------+ > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of > yufengx.mo@intel.com > Sent: Wednesday, June 6, 2018 1:33 PM > To: dts@dpdk.org > Cc: Mo, YufengX > Subject: [dts] [PATCH V1 1/2] memory_register: upstream test plan >=20 > From: yufengmx >=20 >=20 > This test plan is for memory_register feature. > It is a feature related with DPDK Memory System Redesign sub task > Register/unregister memory with vfio dynamically. >=20 > Signed-off-by: yufengmx > --- > test_plans/memory_register_test_plan.rst | 204 > +++++++++++++++++++++++++++++++ > 1 file changed, 204 insertions(+) > create mode 100644 test_plans/memory_register_test_plan.rst >=20 > diff --git a/test_plans/memory_register_test_plan.rst > b/test_plans/memory_register_test_plan.rst > new file mode 100644 > index 0000000..f020b82 > --- /dev/null > +++ b/test_plans/memory_register_test_plan.rst > @@ -0,0 +1,204 @@ > +.. Copyright (c) <2018>, 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 > +memory register > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +It is a way to register memory outside hugepages with DPDK after start u= p. > +Specifically, the registered memory will be the target of DMA > +operations and use it for allocations through rte_malloc or rte_mempool. > + > +This feature should work for both uio and vfio. There are no > +performance requirements around how quickly new memory can be > +registered or unregistered, but calls to translate virtual to physical > addresses should remain fast. > + > +It is a feature related with DPDK's ``Memory System Redesign`` sub task > +``Register/unregister memory with vfio dynamically``. > + > +Prerequisites > +------------- > +2xNICs (2 full duplex optical ports per NIC) > + no nic type limitation > + > +bind port number:: > + one port > + four port > + > +driver:: > + vfio-pci > + igb_uio > + > +HW configuration > +---------------- > +1U socket/2U socket:: > + SuperMicro 1U Xeon D Broadwell SoC uServer(1U Socket) > + Broadwell-EP Xeon E5-2600(2U Socket) > + > +Test cases > +---------- > + > +DPDK has no custom example or unit test binary to test memory register/ > +unregister. The idea behind the testing process is to run dpdk unit > +test related with memory. It is the only method to test this feature. > +`Memory System Redesign` task is related with all dpdk memory > +management mechanism, including > +malloc/mbuf/memory/mempool/memcpy/memzone. Run Compound test > based on > +driver/port number/socket type > + > + Test Case : dpdk malloc autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run malloc_autotest > + > + RTE>> malloc_autotest > + > +*. check ``test ok`` in output > + > + Test Case : dpdk mbuf autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run mbuf_autotest > + > + RTE>> mbuf_autotest > + > +*. check ``test ok`` in output > + > + Test Case : dpdk memcpy autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run memcpy_autotest > + > + RTE>> memcpy_autotest > + > +*. check ``test ok`` in output > + > + Test Case : dpdk memcpy perf autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run memcpy_perf_autotest > + > + RTE>> memcpy_perf_autotest > + > +*. check ``test ok`` in output > + > + Test Case : dpdk memory autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run memory_autotest > + > + RTE>> memory_autotest > + > +*. check ``test ok`` in output > + > +Test Case : dpdk mempool autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run mempool_autotest > + > + RTE>> mempool_autotest > + > +*. check ``test ok`` in output > + > + Test Case : dpdk mempool perf autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run mempool_perf_autotest > + > + RTE>> mempool_perf_autotest > + > +*. check ``test ok`` in output > + > + Test Case : dpdk memzone autotest > +=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 > +*. bind ports > + > + ./usertools/dpdk_nic_bind.py --bind=3D > + > +*. boot up unit test binary ``test`` > + > + ./test/app/test -n 1 -c f > + > +*. run memzone_autotest > + > + RTE>> memzone_autotest > + > +*. check ``test ok`` in output > + > -- > 1.9.3