mirror of https://gitee.com/openkylin/linux.git
selftests: Move two functions from mlxsw's qos_lib to lib
The function humanize() is used for converting value in bits/s to a human-friendly approximate value in Kbps, Mbps or Gbps. There is nothing hardware-specific in that, so move the function to lib.sh. Similarly for the rate() function, which just does a bit of math to calculate a rate, given two counter values and a time interval. Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a44f58c41b
commit
adc6c7ec11
|
@ -1,29 +1,5 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
humanize()
|
||||
{
|
||||
local speed=$1; shift
|
||||
|
||||
for unit in bps Kbps Mbps Gbps; do
|
||||
if (($(echo "$speed < 1024" | bc))); then
|
||||
break
|
||||
fi
|
||||
|
||||
speed=$(echo "scale=1; $speed / 1024" | bc)
|
||||
done
|
||||
|
||||
echo "$speed${unit}"
|
||||
}
|
||||
|
||||
rate()
|
||||
{
|
||||
local t0=$1; shift
|
||||
local t1=$1; shift
|
||||
local interval=$1; shift
|
||||
|
||||
echo $((8 * (t1 - t0) / interval))
|
||||
}
|
||||
|
||||
check_rate()
|
||||
{
|
||||
local rate=$1; shift
|
||||
|
|
|
@ -588,6 +588,30 @@ ethtool_stats_get()
|
|||
ethtool -S $dev | grep "^ *$stat:" | head -n 1 | cut -d: -f2
|
||||
}
|
||||
|
||||
humanize()
|
||||
{
|
||||
local speed=$1; shift
|
||||
|
||||
for unit in bps Kbps Mbps Gbps; do
|
||||
if (($(echo "$speed < 1024" | bc))); then
|
||||
break
|
||||
fi
|
||||
|
||||
speed=$(echo "scale=1; $speed / 1024" | bc)
|
||||
done
|
||||
|
||||
echo "$speed${unit}"
|
||||
}
|
||||
|
||||
rate()
|
||||
{
|
||||
local t0=$1; shift
|
||||
local t1=$1; shift
|
||||
local interval=$1; shift
|
||||
|
||||
echo $((8 * (t1 - t0) / interval))
|
||||
}
|
||||
|
||||
mac_get()
|
||||
{
|
||||
local if_name=$1
|
||||
|
|
Loading…
Reference in New Issue