test: set iova=va mode on ppc64 with --no-huge
Checks
Commit Message
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
On ppc64, without huge pages, pa would be the default but fails like:
EAL: Cannot use IOVA as 'PA' since physical addresses are not available
On a normal system setup we'd expect an admin to set up huge pages
and for the unlikely case that they do not do that set iova=va
themselve. But the testing infrastructure does not have this conscious
admin that will do that, so fix test execution that by adjusting the
tests arguments accordingly if the conditions are met.
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
app/test/suites/meson.build | 8 ++++++++
1 file changed, 8 insertions(+)
Comments
On Tue, 28 Nov 2023 at 14:40, <christian.ehrhardt@canonical.com> wrote:
>
> From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
>
> On ppc64, without huge pages, pa would be the default but fails like:
> EAL: Cannot use IOVA as 'PA' since physical addresses are not available
>
> On a normal system setup we'd expect an admin to set up huge pages
> and for the unlikely case that they do not do that set iova=va
> themselve. But the testing infrastructure does not have this conscious
> admin that will do that, so fix test execution that by adjusting the
> tests arguments accordingly if the conditions are met.
>
> Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
> ---
> app/test/suites/meson.build | 8 ++++++++
> 1 file changed, 8 insertions(+)
Acked-by: Luca Boccassi <bluca@debian.org>
28/11/2023 15:56, Luca Boccassi:
> On Tue, 28 Nov 2023 at 14:40, <christian.ehrhardt@canonical.com> wrote:
> >
> > From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
> >
> > On ppc64, without huge pages, pa would be the default but fails like:
> > EAL: Cannot use IOVA as 'PA' since physical addresses are not available
> >
> > On a normal system setup we'd expect an admin to set up huge pages
> > and for the unlikely case that they do not do that set iova=va
> > themselve. But the testing infrastructure does not have this conscious
> > admin that will do that, so fix test execution that by adjusting the
> > tests arguments accordingly if the conditions are met.
> >
> > Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
>
> Acked-by: Luca Boccassi <bluca@debian.org>
Moved the comment inside the "if condition" context.
Applied, thanks.
@@ -10,6 +10,14 @@ test_no_huge_args = ['--no-huge', '-m', '2048']
has_hugepage = run_command(has_hugepages_cmd, check: true).stdout().strip() != '0'
message('hugepage availability: @0@'.format(has_hugepage))
+# On ppc64, without huge pages, pa would be the default but fails like:
+# EAL: Cannot use IOVA as 'PA' since physical addresses are not available
+if not has_hugepage
+ if arch_subdir == 'ppc'
+ test_no_huge_args += '--iova-mode=va'
+ endif
+endif
+
# process source files to determine the different unit test suites
# - fast_tests
# - perf_tests