selftests: mlxsw: Reduce test run time

Instead of iterating over all the available trap policers, only perform
the tests with three policers: The first, the last and the one in the
middle of the range. On a Spectrum-3 system, this reduces the run time
from almost an hour to a few minutes.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ido Schimmel 2021-10-24 10:19:11 +03:00 committed by David S. Miller
parent 535ac9a5fb
commit e860419684
2 changed files with 20 additions and 18 deletions

View File

@ -272,13 +272,17 @@ __rate_test()
rate_test()
{
local id
local last_policer=$(devlink -j -p trap policer show |
jq '[.[]["'$DEVLINK_DEV'"][].policer] | max')
for id in $(devlink_trap_policer_ids_get); do
echo
log_info "Running rate test for policer $id"
__rate_test $id
done
log_info "Running rate test for policer 1"
__rate_test 1
log_info "Running rate test for policer $((last_policer / 2))"
__rate_test $((last_policer / 2))
log_info "Running rate test for policer $last_policer"
__rate_test $last_policer
}
__burst_test()
@ -342,13 +346,17 @@ __burst_test()
burst_test()
{
local id
local last_policer=$(devlink -j -p trap policer show |
jq '[.[]["'$DEVLINK_DEV'"][].policer] | max')
for id in $(devlink_trap_policer_ids_get); do
echo
log_info "Running burst size test for policer $id"
__burst_test $id
done
log_info "Running burst test for policer 1"
__burst_test 1
log_info "Running burst test for policer $((last_policer / 2))"
__burst_test $((last_policer / 2))
log_info "Running burst test for policer $last_policer"
__burst_test $last_policer
}
trap cleanup EXIT

View File

@ -563,12 +563,6 @@ devlink_trap_group_policer_get()
| jq '.[][][]["policer"]'
}
devlink_trap_policer_ids_get()
{
devlink -j -p trap policer show \
| jq '.[]["'$DEVLINK_DEV'"][]["policer"]'
}
devlink_port_by_netdev()
{
local if_name=$1