On 10/09/2018 16:47, Bala Sankaran wrote:
> Hello Tiago,
> 
> Here's an incremental diff of the patch 6 which I tested. It looks to pass 
> the tests. I would be submitting the 
> new version (v5) applying these changes:
>
> diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
> index baa74da..a9247f8 100644
> --- a/tests/system-dpdk.at
> +++ b/tests/system-dpdk.at
> @@ -88,6 +88,10 @@ OVS_DPDK_PRE_CHECK()
>  AT_SKIP_IF([! which testpmd >/dev/null 2>/dev/null])
>  OVS_DPDK_START()
>  
> +dnl Find number of sockets
> +AT_CHECK([lscpu], [], [stdout])
> +AT_CHECK([cat stdout | grep "Socket(s)" | awk '{c=1; while (c++<$(3)) 
> {printf "512,"}; print "512"}' > SOCKET_MEM])

Hi Bala,

Thanks for the incremental.

Any specific reason to use the result of "Socket(s)" here? I'd use the
same "NUMA node(s)" instead, as the OVS_DPDK_START is doing (in both
cases the result is going to be passed to the "--socket-mem" option).

Also, I think it would be preferable if you'd use a different file to
store the information, instead of overriding the same SOCKET_MEM file
that OVS_DPDK_START sets.

> +
>  dnl Add userspace bridge and attach it to OVS
>  AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
>  AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuser0 -- set Interface 
> dpdkvhostuser0 \
> @@ -111,7 +115,7 @@ 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=512 \
> +tail -f /dev/null | testpmd --socket-mem="$(cat SOCKET_MEM)" --no-pci\
>             --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 &
> @@ -183,7 +187,7 @@ 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=512 \
> +tail -f /dev/null | testpmd --socket-mem="$(cat SOCKET_MEM)" --no-pci\
>             
> --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 &
> 
> 
> Before I do so, I had a question for you.
> 
> Do you suggest that we have the socket-mem option at all? Because it could 
> vary for each system, and also, the latest 
> versions of DPDK would dynamically allocate the socket-memory, but earlier 
> versions might have had the socket-memory
> option hard-coded - which could in turn be a different value in each system 
> that the tests run on.

I had the same question myself, because it would make a lot more sense
to just drop it (the "--socket-mem" option, that is). However, it
doesn't seem to work either. The only way I could get it to work on my
system was to provide an argument to all available nodes (I'm not sure
this is the intended behavior though, from DPDK 18.05+, it would require
further investigation). Does it work on your end, if running on a system
with multiple NUMA nodes?

Hope this helps,
Tiago.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to