David Marchand <david.march...@redhat.com> writes: > On Tue, Mar 9, 2021 at 5:14 PM Aaron Conole <acon...@redhat.com> wrote: >> >>> > +The suites can be selected by adding the ``--suite`` option to the >> >>> > +``meson test`` command. Ex: ``meson test --suite fast-tests``:: >> >>> > + >> >>> > + $ meson test -C build --suite fast-tests >> >>> > + ninja: Entering directory `/home/aconole/git/dpdk/build' >> >>> > + [2543/2543] Linking target app/test/dpdk-test. >> >>> > + 1/60 DPDK:fast-tests / acl_autotest OK 3.17 s >> >>> > + 2/60 DPDK:fast-tests / bitops_autotest OK 0.22 s >> >>> > + 3/60 DPDK:fast-tests / byteorder_autotest OK 0.22 s >> >>> > + 4/60 DPDK:fast-tests / cmdline_autotest OK 0.28 s >> >>> > + 5/60 DPDK:fast-tests / common_autotest OK 0.57 s >> >>> > + 6/60 DPDK:fast-tests / cpuflags_autotest OK 0.27 s >> >>> > + ... >> >>> >> >>> Trying this in my build env, I get all tests failing. >> >>> This is because I run this as a normal user, but the system has >> >>> hugepages configured. >> >>> I figured this out quickly since I know the test framework (simply >> >>> added a echo 0; exit at the top of has-hugepages.sh). >> >>> But I am not sure a reader of this doc would be able to troubleshoot >> >>> this. >> >>> >> >>> Not sure if this is worth explaining here, or if we can enhance the >> >>> hugepage check (permissions maybe?). >> > >> > I prefer to fix the hugepage check to make the tests SKIP when we don't >> > have hugepages accessible (so we need some kind of permission check in >> > there). I will submit it separately. >> > >> >> Here is my PoC for this - if you think it's good enough, I'll submit as >> formal PATCH. >> >> --- >> index d600fad319..1c3cfb665a 100755 >> --- a/app/test/has-hugepage.sh >> +++ b/app/test/has-hugepage.sh >> @@ -3,7 +3,17 @@ >> # Copyright 2020 Mellanox Technologies, Ltd >> >> if [ "$(uname)" = "Linux" ] ; then >> - cat /proc/sys/vm/nr_hugepages || echo 0 >> + nr_hugepages=$(cat /proc/sys/vm/nr_hugepages) >> + # Need to check if we have permissions to access hugepages >> + perm="" >> + for mount in `mount | grep hugetlbfs | awk '{ print $3; }'`; do >> + test ! -w $mount/. || perm="$mount" >> + done >> + if [ "$perm" = "" -o "$nr_hugepages" = "0" ]; then >> + echo 0 >> + else >> + echo $nr_hugepages >> + fi >> elif [ "$(uname)" = "FreeBSD" ] ; then >> echo 1 # assume FreeBSD always has hugepages >> else >> --- >> > > I need to think more about the multiple mountpoints case (but I may be > imagining too much twisted setups..). > > At least, this works in my env. > We need tests in travis/GHA, and sending a non-RFC patch is the best > way to know :-)
Sent :) > So +1 for a patch. > Thanks Aaron!