[LTP] [PATCH 3/4] network/busy_poll: convert to new API

Alexey Kodanev alexey.kodanev@oracle.com
Thu Jun 14 18:04:56 CEST 2018


Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com>
---
 testcases/network/busy_poll/busy_poll01.sh   |   53 ++++++++++++-------------
 testcases/network/busy_poll/busy_poll02.sh   |   49 +++++++++++-------------
 testcases/network/busy_poll/busy_poll03.sh   |   35 +++++++----------
 testcases/network/busy_poll/busy_poll_lib.sh |   44 ++++++++++++----------
 4 files changed, 86 insertions(+), 95 deletions(-)

diff --git a/testcases/network/busy_poll/busy_poll01.sh b/testcases/network/busy_poll/busy_poll01.sh
index 5c59643..1749e52 100755
--- a/testcases/network/busy_poll/busy_poll01.sh
+++ b/testcases/network/busy_poll/busy_poll01.sh
@@ -4,18 +4,10 @@
 #
 # Author: Alexey Kodanev <alexey.kodanev@oracle.com>
 
-TST_TOTAL=1
-TCID="busy_poll01"
-TST_NEEDS_TMPDIR=1
-
-TST_USE_LEGACY_API=1
-. tst_net.sh
 . busy_poll_lib.sh
 
 cleanup()
 {
-	tst_rmdir
-
 	sysctl -q -w net.core.busy_read=$busy_read_old
 	sysctl -q -w net.core.busy_poll=$busy_poll_old
 
@@ -33,27 +25,32 @@ set_busy_poll()
 	tst_rhost_run -s -c "sysctl -q -w net.core.busy_poll=$value"
 }
 
-busy_read_old="$(cat /proc/sys/net/core/busy_read)"
-busy_poll_old="$(cat /proc/sys/net/core/busy_poll)"
-
-rbusy_read_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_read')
-rbusy_poll_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_poll')
-
-TST_CLEANUP="cleanup"
-trap "tst_brkm TBROK 'test interrupted'" INT
+setup()
+{
+	busy_poll_check_config
 
-for x in 50 0; do
-	tst_resm TINFO "set low latency busy poll to $x"
-	set_busy_poll $x
-	tst_netload -H $(tst_ipaddr rhost) -n 10 -N 10 -d res_$x
-done
+	busy_read_old="$(cat /proc/sys/net/core/busy_read)"
+	busy_poll_old="$(cat /proc/sys/net/core/busy_poll)"
 
-poll_cmp=$(( 100 - ($(cat res_50) * 100) / $(cat res_0) ))
+	rbusy_read_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_read')
+	rbusy_poll_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_poll')
+}
 
-if [ "$poll_cmp" -lt 1 ]; then
-	tst_resm TFAIL "busy poll result is '$poll_cmp' %"
-else
-	tst_resm TPASS "busy poll increased performance by '$poll_cmp' %"
-fi
+test()
+{
+	for x in 50 0; do
+		tst_res TINFO "set low latency busy poll to $x"
+		set_busy_poll $x
+		tst_netload -H $(tst_ipaddr rhost) -n 10 -N 10 -d res_$x
+	done
+
+	local poll_cmp=$(( 100 - ($(cat res_50) * 100) / $(cat res_0) ))
+
+	if [ "$poll_cmp" -lt 1 ]; then
+		tst_res TFAIL "busy poll result is '$poll_cmp' %"
+	else
+		tst_res TPASS "busy poll increased performance by '$poll_cmp' %"
+	fi
+}
 
-tst_exit
+tst_run
diff --git a/testcases/network/busy_poll/busy_poll02.sh b/testcases/network/busy_poll/busy_poll02.sh
index f0e4a0e..d0083c2 100755
--- a/testcases/network/busy_poll/busy_poll02.sh
+++ b/testcases/network/busy_poll/busy_poll02.sh
@@ -4,18 +4,10 @@
 #
 # Author: Alexey Kodanev <alexey.kodanev@oracle.com>
 
-TST_TOTAL=1
-TCID="busy_poll02"
-TST_NEEDS_TMPDIR=1
-
-TST_USE_LEGACY_API=1
-. tst_net.sh
 . busy_poll_lib.sh
 
 cleanup()
 {
-	tst_rmdir
-
 	sysctl -q -w net.core.busy_poll=$busy_poll_old
 	tst_rhost_run -c "sysctl -q -w net.core.busy_poll=$rbusy_poll_old"
 }
@@ -27,24 +19,29 @@ set_busy_poll()
 	tst_rhost_run -s -c "sysctl -q -w net.core.busy_poll=$value"
 }
 
-busy_poll_old="$(cat /proc/sys/net/core/busy_poll)"
-rbusy_poll_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_poll')
-
-TST_CLEANUP="cleanup"
-trap "tst_brkm TBROK 'test interrupted'" INT
-
-for x in 50 0; do
-	tst_resm TINFO "set low latency busy poll to $x per socket"
-	set_busy_poll $x
-	tst_netload -H $(tst_ipaddr rhost) -n 10 -N 10 -d res_$x -b $x
-done
+setup()
+{
+	busy_poll_check_config
 
-poll_cmp=$(( 100 - ($(cat res_50) * 100) / $(cat res_0) ))
+	busy_poll_old="$(cat /proc/sys/net/core/busy_poll)"
+	rbusy_poll_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_poll')
+}
 
-if [ "$poll_cmp" -lt 1 ]; then
-	tst_resm TFAIL "busy poll result is '$poll_cmp' %"
-else
-	tst_resm TPASS "busy poll increased performance by '$poll_cmp' %"
-fi
+test()
+{
+	for x in 50 0; do
+		tst_res TINFO "set low latency busy poll to $x per socket"
+		set_busy_poll $x
+		tst_netload -H $(tst_ipaddr rhost) -n 10 -N 10 -d res_$x -b $x
+	done
+
+	local poll_cmp=$(( 100 - ($(cat res_50) * 100) / $(cat res_0) ))
+
+	if [ "$poll_cmp" -lt 1 ]; then
+		tst_res TFAIL "busy poll result is '$poll_cmp' %"
+	else
+		tst_res TPASS "busy poll increased performance by '$poll_cmp' %"
+	fi
+}
 
-tst_exit
+tst_run
diff --git a/testcases/network/busy_poll/busy_poll03.sh b/testcases/network/busy_poll/busy_poll03.sh
index b5fb28e..b55e220 100755
--- a/testcases/network/busy_poll/busy_poll03.sh
+++ b/testcases/network/busy_poll/busy_poll03.sh
@@ -4,18 +4,12 @@
 #
 # Author: Alexey Kodanev <alexey.kodanev@oracle.com>
 
-TST_TOTAL=2
-TCID="busy_poll03"
-TST_NEEDS_TMPDIR=1
+TST_TEST_DATA="udp udp_lite"
 
-TST_USE_LEGACY_API=1
-. tst_net.sh
 . busy_poll_lib.sh
 
 cleanup()
 {
-	tst_rmdir
-
 	sysctl -q -w net.core.busy_poll=$busy_poll_old
 	tst_rhost_run -c "sysctl -q -w net.core.busy_poll=$rbusy_poll_old"
 }
@@ -27,31 +21,30 @@ set_busy_poll()
 	tst_rhost_run -s -c "sysctl -q -w net.core.busy_poll=$value"
 }
 
-busy_poll_old="$(cat /proc/sys/net/core/busy_poll)"
-rbusy_poll_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_poll')
+setup()
+{
+	busy_poll_check_config
 
-TST_CLEANUP="cleanup"
-trap "tst_brkm TBROK 'test interrupted'" INT
+	busy_poll_old="$(cat /proc/sys/net/core/busy_poll)"
+	rbusy_poll_old=$(tst_rhost_run -c 'cat /proc/sys/net/core/busy_poll')
+}
 
-do_test()
+test()
 {
 	for x in 50 0; do
-		tst_resm TINFO "set low latency busy poll to $x per $1 socket"
+		tst_res TINFO "set low latency busy poll to $x per $2 socket"
 		set_busy_poll $x
 		tst_netload -H $(tst_ipaddr rhost) -n 10 -N 10 -d res_$x \
-			    -b $x -T $1
+			    -b $x -T $2
 	done
 
-	poll_cmp=$(( 100 - ($(cat res_50) * 100) / $(cat res_0) ))
+	local poll_cmp=$(( 100 - ($(cat res_50) * 100) / $(cat res_0) ))
 
 	if [ "$poll_cmp" -lt 1 ]; then
-		tst_resm TFAIL "busy poll result is '$poll_cmp' %"
+		tst_res TFAIL "busy poll result is '$poll_cmp' %"
 	else
-		tst_resm TPASS "busy poll increased performance by '$poll_cmp' %"
+		tst_res TPASS "busy poll increased performance by '$poll_cmp' %"
 	fi
 }
 
-do_test udp
-do_test udp_lite
-
-tst_exit
+tst_run
diff --git a/testcases/network/busy_poll/busy_poll_lib.sh b/testcases/network/busy_poll/busy_poll_lib.sh
index 6b2de07..5270a1b 100755
--- a/testcases/network/busy_poll/busy_poll_lib.sh
+++ b/testcases/network/busy_poll/busy_poll_lib.sh
@@ -2,28 +2,32 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 # Copyright (c) 2016-2018 Oracle and/or its affiliates. All Rights Reserved.
 
+TST_SETUP="setup"
+TST_TESTFUNC="test"
+TST_CLEANUP="cleanup"
+TST_MIN_KVER="3.11"
+TST_NEEDS_TMPDIR=1
+TST_NEEDS_ROOT=1
+TST_NEEDS_CMDS="pkill sysctl ethtool"
 # for more stable results set to a single thread
 TST_NETLOAD_CLN_NUMBER=1
 
-if tst_kvcmp -lt "3.11"; then
-	tst_brkm TCONF "test must be run with kernel 3.11 or newer"
-fi
+. tst_net.sh
 
-if [ ! -f "/proc/sys/net/core/busy_read" -a \
-     ! -f "/proc/sys/net/core/busy_poll" ]; then
-	tst_brkm TCONF "busy poll not configured, CONFIG_NET_RX_BUSY_POLL"
-fi
+busy_poll_check_config()
+{
+	if [ ! -f "/proc/sys/net/core/busy_read" -a \
+	     ! -f "/proc/sys/net/core/busy_poll" ]; then
+		tst_brk TCONF "busy poll not configured, CONFIG_NET_RX_BUSY_POLL"
+	fi
 
-tst_check_cmds pkill sysctl ethtool
-
-if tst_kvcmp -lt "4.5"; then
-	ethtool --show-features $(tst_iface) | \
-		grep -q 'busy-poll.*on' || \
-		tst_brkm TCONF "busy poll not supported by driver"
-else
-	drvs="bnx2x|bnxt|cxgb4|enic|benet|ixgbe|ixgbevf|mlx4|mlx5|myri10ge|sfc|virtio"
-	ethtool -i $(tst_iface) | grep -qE "driver: ($drvs)" || \
-		tst_brkm TCONF "busy poll not supported"
-fi
-
-tst_require_root
+	if tst_kvcmp -lt "4.5"; then
+		ethtool --show-features $(tst_iface) | \
+			grep -q 'busy-poll.*on' || \
+			tst_brk TCONF "busy poll not supported by driver"
+	else
+		drvs="bnx2x|bnxt|cxgb4|enic|benet|ixgbe|ixgbevf|mlx4|mlx5|myri10ge|sfc|virtio"
+		ethtool -i $(tst_iface) | grep -qE "driver: ($drvs)" || \
+			tst_brk TCONF "busy poll not supported"
+	fi
+}
-- 
1.7.1



More information about the ltp mailing list