Message ID | 20231027153118.580349-2-david.marchand@redhat.com |
---|---|
State | Superseded |
Headers | show |
Series | [ovs-dev,v8,1/9] system-dpdk: Introduce helpers for testpmd. | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
ovsrobot/intel-ovs-compilation | fail | test: fail |
On Fri, Oct 27, 2023 at 5:31 PM David Marchand <david.marchand@redhat.com> wrote: > > dpdk-testpmd does not need hugetlbfs backing as we don't require > multiprocess support in OVS unit tests. > > Switch to --in-memory and remove the (then unneeded) check on > hugetlbfs presence. > > Acked-by: Aaron Conole <aconole@redhat.com> > Acked-by: Eelco Chaudron <echaudro@redhat.com> > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > Changes since v7: > - reverted use of dynamic allocations and kept initial memory > reservation: this avoids random failures when testpmd and ovs-dpdk > try to allocate memory at the same time, Just a heads up on this change. While testing the v8 series, I hit random failures on the mtu unit tests. testpmd would fail to allocate memory in hugepages. I suspect this has to do with OVS allocating memory in // of testpmd. Reverting to an initial reserved memory makes the issue disappear so I removed this change and kept existing behavior. There may still be a race underneath but at least the situation is as bad as before.
On 27 Oct 2023, at 17:41, David Marchand wrote: > On Fri, Oct 27, 2023 at 5:31 PM David Marchand > <david.marchand@redhat.com> wrote: >> >> dpdk-testpmd does not need hugetlbfs backing as we don't require >> multiprocess support in OVS unit tests. >> >> Switch to --in-memory and remove the (then unneeded) check on >> hugetlbfs presence. >> >> Acked-by: Aaron Conole <aconole@redhat.com> >> Acked-by: Eelco Chaudron <echaudro@redhat.com> >> Signed-off-by: David Marchand <david.marchand@redhat.com> >> --- >> Changes since v7: >> - reverted use of dynamic allocations and kept initial memory >> reservation: this avoids random failures when testpmd and ovs-dpdk >> try to allocate memory at the same time, > > Just a heads up on this change. > > While testing the v8 series, I hit random failures on the mtu unit tests. > testpmd would fail to allocate memory in hugepages. > > I suspect this has to do with OVS allocating memory in // of testpmd. > Reverting to an initial reserved memory makes the issue disappear so I > removed this change and kept existing behavior. > There may still be a race underneath but at least the situation is as > bad as before. Hi David, I ran the full test 10 times, and it was not failing :( But I guess we should not apply, until your research has completed. Thanks, Eelco
diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at index 2cfd26d840..a176a57a4b 100644 --- a/tests/system-dpdk-macros.at +++ b/tests/system-dpdk-macros.at @@ -7,9 +7,6 @@ m4_define([OVS_DPDK_PRE_CHECK], [dnl Check Hugepages AT_CHECK([cat /proc/meminfo], [], [stdout]) AT_SKIP_IF([grep -E 'HugePages_Free: *0' stdout], [], [stdout]) - AT_CHECK([mount], [], [stdout]) - AT_CHECK([grep 'hugetlbfs' stdout], [], [stdout], []) - ]) @@ -97,7 +94,7 @@ m4_define([OVS_DPDK_CHECK_TESTPMD], m4_define([OVS_DPDK_START_TESTPMD], [AT_CHECK([lscpu], [], [stdout]) AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3)) {printf "512,"}; print "512"}' > NUMA_NODE]) - eal_options="--socket-mem="$(cat NUMA_NODE)" --file-prefix page0 --single-file-segments --no-pci" + eal_options="--in-memory --socket-mem="$(cat NUMA_NODE)" --single-file-segments --no-pci" options="$1" test "$options" != "${options%% -- *}" || options="$options -- " eal_options="$eal_options ${options%% -- *}"