123456789101112131415161718192021222324252627282930313233 |
- #!/bin/sh
- # 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
- . tst_net.sh
- 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
- 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
- }
|