[RFC,3/3] ci: enable tests on non-arm platforms

Message ID 20190329172241.11916-4-aconole@redhat.com (mailing list archive)
State RFC, archived
Delegated to: Thomas Monjalon
Headers
Series ci: enable unit tests for non-aarch64 platforms |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK

Commit Message

Aaron Conole March 29, 2019, 5:22 p.m. UTC
  When building under Travis (or another linux CI service), enable running the
tests for each build.

Signed-off-by: Aaron Conole <aconole@redhat.com>
---
 .ci/linux-build.sh | 7 +++++++
 .ci/linux-setup.sh | 6 +++++-
 2 files changed, 12 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob Kollanukkaran April 17, 2019, 8:32 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Aaron Conole
> Sent: Friday, March 29, 2019 10:53 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [RFC 3/3] ci: enable tests on non-arm platforms
> 
> When building under Travis (or another linux CI service), enable running the tests
> for each build.
> 
> Signed-off-by: Aaron Conole <aconole@redhat.com>
> ---
>  .ci/linux-build.sh | 7 +++++++
>  .ci/linux-setup.sh | 6 +++++-
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 4eb7c3cf0..72510a433
> 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -22,3 +22,10 @@ fi
>  OPTS="$OPTS --default-library=$DEF_LIB"
>  meson build --werror -Dexamples=all $OPTS  ninja -C build
> +
> +if [ "$AARCH64" != "1" ]; then

If the indention is run only on X86 then, X86 == 1 would be the correct logic as we do
have powerpc and arm32 support in dpdk.

Any reason why we are opting out arm64?
There are some cloud hosting services with arm64 as well.

https://www.packet.com/cloud/servers/c1-large-arm/
  
Aaron Conole April 17, 2019, 12:39 p.m. UTC | #2
Jerin Jacob Kollanukkaran <jerinj@marvell.com> writes:

>> -----Original Message-----
>> From: dev <dev-bounces@dpdk.org> On Behalf Of Aaron Conole
>> Sent: Friday, March 29, 2019 10:53 PM
>> To: dev@dpdk.org
>> Subject: [dpdk-dev] [RFC 3/3] ci: enable tests on non-arm platforms
>> 
>> When building under Travis (or another linux CI service), enable running the tests
>> for each build.
>> 
>> Signed-off-by: Aaron Conole <aconole@redhat.com>
>> ---
>>  .ci/linux-build.sh | 7 +++++++
>>  .ci/linux-setup.sh | 6 +++++-
>>  2 files changed, 12 insertions(+), 1 deletion(-)
>> 
>> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 4eb7c3cf0..72510a433
>> 100755
>> --- a/.ci/linux-build.sh
>> +++ b/.ci/linux-build.sh
>> @@ -22,3 +22,10 @@ fi
>>  OPTS="$OPTS --default-library=$DEF_LIB"
>>  meson build --werror -Dexamples=all $OPTS  ninja -C build
>> +
>> +if [ "$AARCH64" != "1" ]; then
>
> If the indention is run only on X86 then, X86 == 1 would be the correct logic as we do
> have powerpc and arm32 support in dpdk.

Correct - I should have used a more robust and targeted test.

> Any reason why we are opting out arm64?
> There are some cloud hosting services with arm64 as well.
>
> https://www.packet.com/cloud/servers/c1-large-arm/

There is  At the moment, we aren't hooked up to any - do you know of one
that we can easily integrate with right now?  AFAICT, there are hosting
services, but we would still need all the other things that go with CI
service (dashboards, scheduling, tracking, etc.) and it's a big project
to set up, maintain, etc.
  
Jerin Jacob Kollanukkaran April 17, 2019, 3:32 p.m. UTC | #3
> -----Original Message-----
> From: Aaron Conole <aconole@redhat.com>
> Sent: Wednesday, April 17, 2019 6:10 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: dev@dpdk.org
> Subject: [EXT] Re: [dpdk-dev] [RFC 3/3] ci: enable tests on non-arm platforms
> 
> 
----------------------------------------------------------------------
> Jerin Jacob Kollanukkaran <jerinj@marvell.com> writes:
> 
> >> -----Original Message-----
> >> From: dev <dev-bounces@dpdk.org> On Behalf Of Aaron Conole
> >> Sent: Friday, March 29, 2019 10:53 PM
> >> To: dev@dpdk.org
> >> Subject: [dpdk-dev] [RFC 3/3] ci: enable tests on non-arm platforms
> >>
> >> When building under Travis (or another linux CI service), enable
> >> running the tests for each build.
> >>
> >> Signed-off-by: Aaron Conole <aconole@redhat.com>
> >> ---
> >>  .ci/linux-build.sh | 7 +++++++
> >>  .ci/linux-setup.sh | 6 +++++-
> >>  2 files changed, 12 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index
> >> 4eb7c3cf0..72510a433
> >> 100755
> >> --- a/.ci/linux-build.sh
> >> +++ b/.ci/linux-build.sh
> >> @@ -22,3 +22,10 @@ fi
> >>  OPTS="$OPTS --default-library=$DEF_LIB"
> >>  meson build --werror -Dexamples=all $OPTS  ninja -C build
> >> +
> >> +if [ "$AARCH64" != "1" ]; then
> >
> > If the indention is run only on X86 then, X86 == 1 would be the
> > correct logic as we do have powerpc and arm32 support in dpdk.
> 
> Correct - I should have used a more robust and targeted test.
> 
> > Any reason why we are opting out arm64?
> > There are some cloud hosting services with arm64 as well.
> >
> > https://www.packet.com/cloud/servers/c1-large-arm/
> 
> There is  At the moment, we aren't hooked up to any - do you know of one that
> we can easily integrate with right now?  AFAICT, there are hosting services, but

I know, Following cloud hosting providers has arm64 support.
But, not sure about the feature set for CI work.
(2) and (3) are based on ThunderX servers.

https://www.linaro.cloud/
https://www.packet.com/cloud/servers/c1-large-arm/
www.scaleway.com



> we would still need all the other things that go with CI service (dashboards,
> scheduling, tracking, etc.) and it's a big project to set up, maintain, etc.
  

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 4eb7c3cf0..72510a433 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -22,3 +22,10 @@  fi
 OPTS="$OPTS --default-library=$DEF_LIB"
 meson build --werror -Dexamples=all $OPTS
 ninja -C build
+
+if [ "$AARCH64" != "1" ]; then
+    sudo meson test -C build --suite fast-tests
+    sudo meson test -C build --suite perf-tests
+    sudo meson test -C build --suite driver-tests
+    sudo meson test -C build --suite debug-tests
+fi
diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh
index acdf9f370..18d2b22fc 100755
--- a/.ci/linux-setup.sh
+++ b/.ci/linux-setup.sh
@@ -1,3 +1,7 @@ 
 #!/bin/sh
 
-python3 -m pip install --upgrade meson --user
+sudo python3 -m pip install --upgrade meson
+
+cat /proc/meminfo
+sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages'
+cat /proc/meminfo