On Wed, Mar 23, 2022 at 10:09 AM Kevin Traynor <[email protected]> wrote:
>
> Ensure that if there are no local numa PMD thread
> cores available that pmd cores from all other non-local
> numas will be used.
>
> Signed-off-by: Kevin Traynor <[email protected]>


Acked-by: Mike Pattrick <[email protected]>

> ---
>  tests/pmd.at | 40 +++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 39 insertions(+), 1 deletion(-)
>
> diff --git a/tests/pmd.at b/tests/pmd.at
> index a2f9d34a2..0a451f33c 100644
> --- a/tests/pmd.at
> +++ b/tests/pmd.at
> @@ -200,5 +200,5 @@ OVS_VSWITCHD_STOP
>  AT_CLEANUP
>
> -AT_SETUP([PMD - pmd-cpu-mask - NUMA])
> +AT_SETUP([PMD - pmd-cpu-mask - dual NUMA])
>  OVS_VSWITCHD_START([add-port br0 p0 -- set Interface p0 type=dummy-pmd 
> options:n_rxq=8 options:numa_id=1 -- set Open_vSwitch . 
> other_config:pmd-cpu-mask=1],
>                     [], [], [--dummy-numa 1,1,0,0])
> @@ -360,4 +360,42 @@ OVS_VSWITCHD_STOP
>  AT_CLEANUP
>
> +AT_SETUP([PMD - pmd-cpu-mask - multi NUMA])
> +OVS_VSWITCHD_START([add-port br0 p0 \
> +                    -- set Interface p0 type=dummy-pmd options:n_rxq=4 \
> +                    -- set Interface p0 options:numa_id=0 \
> +                    -- set Open_vSwitch . other_config:pmd-cpu-mask=0xf \
> +                    -- set open_vswitch . 
> other_config:pmd-rxq-assign=cycles],
> +                   [], [], [--dummy-numa 1,2,1,2])
> +
> +TMP=$(($(cat ovs-vswitchd.log | wc -l | tr -d [[:blank:]])+1))
> +AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:pmd-rxq-assign=group])
> +
> +OVS_WAIT_UNTIL([tail -n +$TMP ovs-vswitchd.log | grep "Performing pmd to rx 
> queue assignment using group algorithm"])
> +OVS_WAIT_UNTIL([tail -n +$TMP ovs-vswitchd.log | grep "There's no available 
> (non-isolated) pmd thread on numa node 0."])
> +
> +# check all pmds from both non-local numas are assigned an rxq
> +AT_CHECK([test `ovs-appctl dpif-netdev/pmd-rxq-show | awk '/AVAIL$/ { 
> printf("%s\t", $0); next } 1' | parse_pmd_rxq_show_group | wc -l` -eq 4])
> +
> +TMP=$(($(cat ovs-vswitchd.log | wc -l | tr -d [[:blank:]])+1))
> +AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:pmd-rxq-assign=cycles])
> +
> +OVS_WAIT_UNTIL([tail -n +$TMP ovs-vswitchd.log | grep "Performing pmd to rx 
> queue assignment using cycles algorithm"])
> +OVS_WAIT_UNTIL([tail -n +$TMP ovs-vswitchd.log | grep "There's no available 
> (non-isolated) pmd thread on numa node 0."])
> +
> +# check all pmds from both non-local numas are assigned an rxq
> +AT_CHECK([test `ovs-appctl dpif-netdev/pmd-rxq-show | awk '/AVAIL$/ { 
> printf("%s\t", $0); next } 1' | parse_pmd_rxq_show_group | wc -l` -eq 4])
> +
> +TMP=$(($(cat ovs-vswitchd.log | wc -l | tr -d [[:blank:]])+1))
> +AT_CHECK([ovs-vsctl set Open_vSwitch . 
> other_config:pmd-rxq-assign=roundrobin])
> +
> +OVS_WAIT_UNTIL([tail -n +$TMP ovs-vswitchd.log | grep "Performing pmd to rx 
> queue assignment using roundrobin algorithm"])
> +OVS_WAIT_UNTIL([tail -n +$TMP ovs-vswitchd.log | grep "There's no available 
> (non-isolated) pmd thread on numa node 0."])
> +
> +# check all pmds from both non-local numas are assigned an rxq
> +AT_CHECK([test `ovs-appctl dpif-netdev/pmd-rxq-show | awk '/AVAIL$/ { 
> printf("%s\t", $0); next } 1' | parse_pmd_rxq_show_group | wc -l` -eq 4])
> +
> +OVS_VSWITCHD_STOP
> +AT_CLEANUP
> +
>  AT_SETUP([PMD - stats])
>  OVS_VSWITCHD_START([add-port br0 p0 -- set Interface p0 ofport_request=7 
> type=dummy-pmd options:n_rxq=4],
> --
> 2.34.1
>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to