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 2AAC1A056A; Fri, 6 Mar 2020 17:16:35 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7A0352BA8; Fri, 6 Mar 2020 17:16:34 +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 15413FEB for ; Fri, 6 Mar 2020 17:16:32 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583511392; 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=g1n3ohdRdebxClPSY+2VmoklIRuuzffMBYG93Y2Pb+Y=; b=WiTlUxKdiN7czwHm5Wiri077WIUXSaZwCIPviWe3iRV24QciTDES38QfNWuUxYI6W/aY25 ID9MTOZN8WS9tgu0EBzESSmrhKiV/baX4UTA/K+pg+LR9vx/b/RSb+3YVmnOpisdA70nwq M2N++ALNTXcN5nUj/SYn/PYf6T5P0ok= 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-87-hkn11y2cNa2WVd4advp8Xg-1; Fri, 06 Mar 2020 11:16:30 -0500 X-MC-Unique: hkn11y2cNa2WVd4advp8Xg-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 8A1E4107ACC7; Fri, 6 Mar 2020 16:16:28 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (unknown [10.18.25.84]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EEEF78B74D; Fri, 6 Mar 2020 16:16:24 +0000 (UTC) From: Aaron Conole To: David Marchand Cc: Ruifeng Wang , "maicolgabriel\@hotmail.com" , "bruce.richardson\@intel.com" , "dev\@dpdk.org" , 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: Fri, 06 Mar 2020 11:16:24 -0500 In-Reply-To: (David Marchand's message of "Fri, 6 Mar 2020 17:05:57 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (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" David Marchand writes: > On Fri, Mar 6, 2020 at 4:57 PM Aaron Conole wrote: >> >> Ruifeng Wang writes: >> >> >> -----Original Message----- >> >> From: Aaron Conole >> >> Sent: Thursday, March 5, 2020 22:37 >> >> To: Ruifeng Wang >> >> Cc: maicolgabriel@hotmail.com; bruce.richardson@intel.com; dev@dpdk.o= rg; >> >> david.marchand@redhat.com; Gavin Hu ; Honnappa >> >> Nagarahalli ; juraj.linkes@pantheon.tec= h; >> >> nd >> >> Subject: Re: [PATCH v2 2/2] ci: add test suite run without hugepage >> >> >> >> 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 hugepag= e >> >> >> >> >> >> Ruifeng Wang writes: >> >> >> >> >> >> > 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 th= e >> >> >> > fast-tests suites in the environments without huge pages support= , >> >> >> > like containers. >> >> >> > >> >> >> > Signed-off-by: Ruifeng Wang >> >> >> > Reviewed-by: Gavin Hu >> >> >> > --- >> >> >> >> >> >> I like this much more. Few comments. >> >> >> >> >> >> > .travis.yml | 10 +++++-- >> >> >> > app/test/meson.build | 71 >> >> >> > ++++++++++++++++++++++++++++++++++++++++++++ >> >> >> >> >> >> You should update doc/guides/prog_guide/meson_ut.rst to include so= me >> >> >> detail about the new tests suite. >> >> >> >> >> > Thanks. Will update document in next version. >> >> > >> >> >> > 2 files changed, 79 insertions(+), 2 deletions(-) >> >> >> > >> >> >> > diff --git a/.travis.yml b/.travis.yml index b64a81bd0..eed1d96d= b >> >> >> > 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-t= ests >> >> >> nohuge-tests" >> >> >> > arch: amd64 >> >> >> > compiler: gcc >> >> >> > - env: DEF_LIB=3D"shared" BUILD_DOCS=3D1 @@ -63,7 +63,7 @@ jo= bs: >> >> >> > - 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-t= ests >> >> >> 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', >> >> >> > ] >> >> >> >> >> >> Shouldn't we also trim the list of fast-tests? Otherwise, these >> >> >> tests will run twice. >> >> >> >> >> > 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 the >> >> > other runs in no-huge mode. >> >> >> >> Is it really so different between huge and no-huge? Most of the libr= aries >> >> won't care - they call the rte_**alloc functions, and it returns bloc= ks of >> >> memory. Maybe I am simplifying it too much. >> >> >> >> > If fast-tests list is splited, we will need to always run multiple >> >> > suites to cover all fast tests. >> >> > We can keep x86 to run only fast-tests suite to avoid extra test ru= ns >> >> > if they are not necessary. Thoughts? >> >> >> >> I guess since most DPDK usage will be with hugepages, we should prefe= r to >> >> test with it. I don't care too much about the color of this particul= ar shed. If >> >> you want to do it that way, it's okay by me - it gives us the coverag= e, 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 guaran= tees we >> >> will miss tests (because we accidentally don't add it to nohuge). Ma= ybe >> >> there's another way, like keep a list of all the tests and some infor= mation on >> >> whether the test needs hugepages to run. Then if there are no hugepa= ges >> >> available, we can write that we SKIP the tests that don't support hug= e pages. >> >> In that way, we don't need two different lists - and if there are hug= epages, >> >> we will run all the test cases. >> >> WDYT? >> >> >> > Yes. Agree with you that having duplicate tests in suites is error pro= ne. >> >> Cool! >> >> > IIUC, cases in a suite is determined at build time, as well as command= options to run cases. >> > This implies hugepage availability needs to be detected at build time = if we want to run only >> > suitable cases in suite in an environment. It could be something we do= n't want. >> > >> > I'll trim fast-tests in next version to remove duplicated cases. >> >> I think it might be better to make the array something like (just a >> psuedo-code example): >> >> # psuedo-code to check for hugepages >> has_hugepages =3D check_for_hugepages() >> >> ... >> >> fast_test_names =3D [ >> ['acl_autotest', true], >> ['alarm_autotest', true], >> ['atomic_autotest', true], >> ... >> >> Then in the code: >> >> foreach arg : fast_test_names >> .... >> if not arg[1] >> test(arg[0], ...) >> if has_hugepages and arg[1] >> test(arg[0], ) >> >> Does it make sense? Do you see a problem? > > I just hope meson won't create a dependency on hugepage availability... > Thinking about stuff like: > https://git.dpdk.org/dpdk/commit/?id=3D599d67b6a4bf96096352cc5fbc8fc28e54= a1ca62 Yes, I agree. We probably need to do some kind of similar abstraction.