From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 447CDA0573; Thu, 5 Mar 2020 15:36:48 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4851B2BB8; Thu, 5 Mar 2020 15:36:47 +0100 (CET) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by dpdk.org (Postfix) with ESMTP id 793332BA8 for ; Thu, 5 Mar 2020 15:36:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583419005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9TBZ4H/XR4FVhFEWfqNG7bsa+CWM354TukBGqZZ2Rko=; b=YdTGzN5rh4xXaKeN7o8gdhT1KlcBFUDzXgMLP16/WtYupyNeRWfik/EzN7MYtCmXPcRHgd o2Xhw3oe7DwhB8uKhtU1LkhfASINECOdbN65cyyfkdg4J5eZ99sKP758NXOIou1LnzP0Eu /ha/XStgg0ZPTBjL+p7l+UiSEJf8tOo= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-411-nwWGDbHTNtC2P0q1uMTJjA-1; Thu, 05 Mar 2020 09:36:42 -0500 X-MC-Unique: nwWGDbHTNtC2P0q1uMTJjA-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4FE0A8024FF; Thu, 5 Mar 2020 14:36:40 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (ovpn-125-72.rdu2.redhat.com [10.10.125.72]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 547198B75D; Thu, 5 Mar 2020 14:36:38 +0000 (UTC) From: Aaron Conole To: Ruifeng Wang Cc: "maicolgabriel\@hotmail.com" , "bruce.richardson\@intel.com" , "dev\@dpdk.org" , "david.marchand\@redhat.com" , Gavin Hu , Honnappa Nagarahalli , "juraj.linkes\@pantheon.tech" , nd References: <20200225073236.135581-1-ruifeng.wang@arm.com> <20200228041904.195597-1-ruifeng.wang@arm.com> <20200228041904.195597-3-ruifeng.wang@arm.com> Date: Thu, 05 Mar 2020 09:36:34 -0500 In-Reply-To: (Ruifeng Wang's message of "Thu, 5 Mar 2020 03:41:01 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [PATCH v2 2/2] ci: add test suite run without hugepage X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Ruifeng Wang writes: >> -----Original Message----- >> From: Aaron Conole >> Sent: Thursday, March 5, 2020 01:31 >> To: Ruifeng Wang >> Cc: maicolgabriel@hotmail.com; bruce.richardson@intel.com; dev@dpdk.org; >> david.marchand@redhat.com; Gavin Hu ; Honnappa >> Nagarahalli ; juraj.linkes@pantheon.tech; >> nd >> Subject: Re: [PATCH v2 2/2] ci: add test suite run without hugepage >>=20 >> Ruifeng Wang writes: >>=20 >> > This test suite is derived from fast-tests suite. Cases in this suite >> > are run with '--no-huge' flag. >> > >> > The suite aims to cover as many as possible test cases out of the >> > fast-tests suites in the environments without huge pages support, like >> > containers. >> > >> > Signed-off-by: Ruifeng Wang >> > Reviewed-by: Gavin Hu >> > --- >>=20 >> I like this much more. Few comments. >>=20 >> > .travis.yml | 10 +++++-- >> > app/test/meson.build | 71 >> > ++++++++++++++++++++++++++++++++++++++++++++ >>=20 >> You should update doc/guides/prog_guide/meson_ut.rst to include some >> detail about the new tests suite. >>=20 > Thanks. Will update document in next version. > >> > 2 files changed, 79 insertions(+), 2 deletions(-) >> > >> > diff --git a/.travis.yml b/.travis.yml index b64a81bd0..eed1d96db >> > 100644 >> > --- a/.travis.yml >> > +++ b/.travis.yml >> > @@ -40,7 +40,7 @@ jobs: >> > - env: DEF_LIB=3D"static" >> > arch: amd64 >> > compiler: gcc >> > - - env: DEF_LIB=3D"shared" RUN_TESTS=3D1 >> > + - env: DEF_LIB=3D"shared" RUN_TESTS=3D1 TEST_SUITES=3D"fast-tests >> nohuge-tests" >> > arch: amd64 >> > compiler: gcc >> > - env: DEF_LIB=3D"shared" BUILD_DOCS=3D1 @@ -63,7 +63,7 @@ jobs: >> > - env: DEF_LIB=3D"static" >> > arch: amd64 >> > compiler: clang >> > - - env: DEF_LIB=3D"shared" RUN_TESTS=3D1 >> > + - env: DEF_LIB=3D"shared" RUN_TESTS=3D1 TEST_SUITES=3D"fast-tests >> nohuge-tests" >> > arch: amd64 >> > compiler: clang >> > - env: DEF_LIB=3D"shared" BUILD_DOCS=3D1 @@ -101,6 +101,9 @@ jobs: >> > - env: DEF_LIB=3D"static" >> > arch: arm64 >> > compiler: gcc >> > + - env: DEF_LIB=3D"shared" RUN_TESTS=3D1 TEST_SUITES=3D"nohuge-tests= " >> > + arch: arm64 >> > + compiler: gcc >> > - env: DEF_LIB=3D"shared" BUILD_DOCS=3D1 >> > arch: arm64 >> > compiler: gcc >> > @@ -124,3 +127,6 @@ jobs: >> > - env: DEF_LIB=3D"shared" >> > arch: arm64 >> > compiler: clang >> > + - env: DEF_LIB=3D"shared" RUN_TESTS=3D1 TEST_SUITES=3D"nohuge-tests= " >> > + arch: arm64 >> > + compiler: clang >> > diff --git a/app/test/meson.build b/app/test/meson.build index >> > 0a2ce710f..162a1a76f 100644 >> > --- a/app/test/meson.build >> > +++ b/app/test/meson.build >> > @@ -237,6 +237,60 @@ fast_test_names =3D [ >> > 'thash_autotest', >> > ] >>=20 >> Shouldn't we also trim the list of fast-tests? Otherwise, these tests w= ill run >> twice. >>=20 > I think you mean to have exclusive lists for fast-tests and nohuge-tests. That's what I was thinking. > Overlapped cases will run twice if both test suites are opted in. > But the two runs are not the same, one runs with hugepage and=20 > the other runs in no-huge mode. Is it really so different between huge and no-huge? Most of the libraries won't care - they call the rte_**alloc functions, and it returns blocks of memory. Maybe I am simplifying it too much. > If fast-tests list is splited, we will need to always run multiple suite= s > to cover all fast tests. > We can keep x86 to run only fast-tests suite to avoid extra test runs if > they are not necessary. Thoughts? I guess since most DPDK usage will be with hugepages, we should prefer to test with it. I don't care too much about the color of this particular shed. If you want to do it that way, it's okay by me - it gives us the coverage, and doesn't duplicate tests between those environments. BUT it means when we add a new test to the suite, we need to remember to add it in two places - fast_test and nohuge_test. That almost guarantees we will miss tests (because we accidentally don't add it to nohuge). Maybe there's another way, like keep a list of all the tests and some information on whether the test needs hugepages to run. Then if there are no hugepages available, we can write that we SKIP the tests that don't support huge pages. In that way, we don't need two different lists - and if there are hugepages, we will run all the test cases. WDYT? >> ex: https://travis-ci.com/ovsrobot/dpdk/jobs/292037684 >>=20 >> > +nohuge_test_names =3D [ >> > + 'byteorder_autotest', >> > + 'cmdline_autotest', >> > + 'common_autotest', >> > + 'cpuflags_autotest', >> > + 'cycles_autotest', >> > + 'debug_autotest', >> > + 'eal_flags_n_opt_autotest', >> > + 'eal_flags_no_huge_autotest', >> > + 'eal_flags_vdev_opt_autotest', >> > + 'eal_fs_autotest', >> > + 'errno_autotest', >> > + 'event_ring_autotest', >> > + 'fib_autotest', >> > + 'fib6_autotest', >> > + 'interrupt_autotest', >> > + 'logs_autotest', >> > + 'lpm_autotest', >> > + 'lpm6_autotest', >> > + 'memcpy_autotest', >> > + 'meter_autotest', >> > + 'per_lcore_autotest', >> > + 'prefetch_autotest', >> > + 'rcu_qsbr_autotest', >> > + 'red_autotest', >> > + 'rib_autotest', >> > + 'rib6_autotest', >> > + 'ring_autotest', >> > + 'rwlock_rda_autotest', >> > + 'rwlock_rds_wrm_autotest', >> > + 'rwlock_rde_wro_autotest', >> > + 'sched_autotest', >> > + 'spinlock_autotest', >> > + 'string_autotest', >> > + 'tailq_autotest', >> > + 'user_delay_us', >> > + 'version_autotest', >> > + 'crc_autotest', >> > + 'delay_us_sleep_autotest', >> > + 'eventdev_common_autotest', >> > + 'fbarray_autotest', >> > + 'ipsec_autotest', >> > + 'kni_autotest', >> > + 'kvargs_autotest', >> > + 'member_autotest', >> > + 'metrics_autotest', >> > + 'power_cpufreq_autotest', >> > + 'power_autotest', >> > + 'power_kvm_vm_autotest', >> > + 'reorder_autotest', >> > + 'service_autotest', >> > + 'thash_autotest', >> > +] >> > + >> > perf_test_names =3D [ >> > 'ring_perf_autotest', >> > 'mempool_perf_autotest', >> > @@ -341,6 +395,10 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD') >> > =09fast_test_names +=3D 'latencystats_autotest' >> > =09driver_test_names +=3D 'link_bonding_mode4_autotest' >> > =09fast_test_names +=3D 'pdump_autotest' >> > +=09nohuge_test_names +=3D 'ring_pmd_autotest' >> > +=09nohuge_test_names +=3D 'bitratestats_autotest' >> > +=09nohuge_test_names +=3D 'latencystats_autotest' >> > +=09nohuge_test_names +=3D 'pdump_autotest' >> > endif >> > >> > if dpdk_conf.has('RTE_LIBRTE_POWER') >> > @@ -430,6 +488,19 @@ foreach arg : fast_test_names >> > =09endif >> > endforeach >> > >> > +foreach arg : nohuge_test_names >> > +=09if host_machine.system() =3D=3D 'linux' >> > +=09=09test(arg, dpdk_test, >> > +=09=09=09 env : ['DPDK_TEST=3D' + arg], >> > +=09=09=09 args : test_args + >> > +=09=09=09=09 ['--no-huge'] + ['-m 1024'] + >> > +=09=09=09=09 ['--file-prefix=3D@0@'.format(arg)], >> > +=09=09timeout : timeout_seconds_fast, >> > +=09=09is_parallel : false, >> > +=09=09suite : 'nohuge-tests') >> > +=09endif >> > +endforeach >> > + >> > foreach arg : perf_test_names >> > =09test(arg, dpdk_test, >> > =09env : ['DPDK_TEST=3D' + arg],