On Sat, May 16, 2020 at 11:23:52AM +0530, Gowrishankar Muthukrishnan wrote:
> Today we need 1GB from hugepages for running dpdk tests (i.e
> 512MB for ovs-vswitchd including phy ports and 512MB for testpmd
> app). This patch optimize the usage as:
> - 1GB for dpdk tests including phy ports, vhu ports and testpmd
> - 512MB for dpdk tests including vhu ports and testpmd
>
> Signed-off-by: Gowrishankar Muthukrishnan <[email protected]>
> ---
> v2:
> - fixed hunk to reflect intended changes.
>
> ---
> tests/system-dpdk-macros.at | 19 +++++++++++++++++++
> tests/system-dpdk.at | 10 ++++++----
> 2 files changed, 25 insertions(+), 4 deletions(-)
>
> diff --git a/tests/system-dpdk-macros.at b/tests/system-dpdk-macros.at
> index d3a3aea..e5ac4f4 100644
> --- a/tests/system-dpdk-macros.at
> +++ b/tests/system-dpdk-macros.at
> @@ -1,3 +1,18 @@
> +# OVS_DPDK_SET_SOCKET_MEM()
> +#
> +# Set optimum memory required for tests.
> +#
> +m4_define([OVS_DPDK_SET_SOCKET_MEM],
> + [
> + AT_CHECK([$DPDK_DIR/usertools/dpdk-devbind.py -s],[],[stdout])
> + AT_CHECK([sed -n '/DPDK/,/kernel/{//!p;}' stdout|sed '/^=/d'],[],[stdout])
> + AT_CHECK([egrep -c '^....:..:..\..' stdout],[ignore],[stdout])
> + AS_IF([test $(cat stdout) -eq 0],[echo 64 > SOCKET_MEM],
> + [echo $((64+512)) > SOCKET_MEM])
> +
> +])
> +
> +
> # OVS_DPDK_PRE_CHECK()
> #
> # Check prerequisites for DPDK tests. Following settings are checked:
> @@ -57,6 +72,10 @@ m4_define([OVS_DPDK_START],
>
> dnl Enable DPDK functionality
> AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch .
> other_config:dpdk-init=true])
> + OVS_DPDK_SET_SOCKET_MEM()
> + AT_CHECK([lscpu], [], [stdout])
> + AT_CHECK([cat stdout | grep "NUMA node(s)" | awk -v m=$(cat SOCKET_MEM)
> '{c=1; while (c++<$(3)) {printf m","}; print m}' > NUMA_NODE])
> + AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch .
> other_config:dpdk-socket-mem=$(cat NUMA_NODE)])
>
> dnl Start ovs-vswitchd.
> AT_CHECK([ovs-vswitchd --detach --no-chdir --pidfile --log-file -vvconn
> -vofproto_dpif -vunixctl], [0], [stdout], [stderr])
> diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
> index 01ac970..b032c5b 100644
> --- a/tests/system-dpdk.at
> +++ b/tests/system-dpdk.at
> @@ -93,7 +93,7 @@ OVS_DPDK_START()
>
> dnl Find number of sockets
> AT_CHECK([lscpu], [], [stdout])
> -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3))
> {printf "512,"}; print "512"}' > NUMA_NODE])
> +AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3))
> {printf "448,"}; print "448"}' > NUMA_NODE])
Why 448?
> dnl Add userspace bridge and attach it to OVS
> AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
> @@ -118,7 +118,8 @@ ADD_VETH(tap1, ns2, br10, "172.31.110.12/24")
>
> dnl Execute testpmd in background
> on_exit "pkill -f -x -9 'tail -f /dev/null'"
> -tail -f /dev/null | testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\
> +tail -f /dev/null | testpmd --no-pci \
> + --socket-mem="$(cat NUMA_NODE)" --socket-limit="$(cat NUMA_NODE)"
> \
> --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostuser0" \
> --vdev="net_tap0,iface=tap0" --file-prefix page0 \
> --single-file-segments -- -a
> >$OVS_RUNDIR/testpmd-dpdkvhostuser0.log 2>&1 &
> @@ -172,7 +173,7 @@ OVS_DPDK_START()
>
> dnl Find number of sockets
> AT_CHECK([lscpu], [], [stdout])
> -AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3))
> {printf "512,"}; print "512"}' > NUMA_NODE])
> +AT_CHECK([cat stdout | grep "NUMA node(s)" | awk '{c=1; while (c++<$(3))
> {printf "448,"}; print "448"}' > NUMA_NODE])
>
> dnl Add userspace bridge and attach it to OVS
> AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
> @@ -196,7 +197,8 @@ ADD_VETH(tap1, ns2, br10, "172.31.110.12/24")
>
> dnl Execute testpmd in background
> on_exit "pkill -f -x -9 'tail -f /dev/null'"
> -tail -f /dev/null | testpmd --socket-mem="$(cat NUMA_NODE)" --no-pci\
> +tail -f /dev/null | testpmd --no-pci \
> + --socket-mem="$(cat NUMA_NODE)" --socket-limit="$(cat NUMA_NODE)"
> \
>
> --vdev="net_virtio_user,path=$OVS_RUNDIR/dpdkvhostclient0,server=1" \
> --vdev="net_tap0,iface=tap0" --file-prefix page0 \
> --single-file-segments -- -a
> >$OVS_RUNDIR/testpmd-dpdkvhostuserclient0.log 2>&1 &
> --
> 1.8.3.1
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
--
fbl
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev