From 54beb458703ff91e9f522f8af0a57722966f093e Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Fri, 17 Apr 2020 12:38:09 +0000 Subject: Performance: DPDK refactor + Rework BASH scripts (more code to python). + Move BASH into libraries. + Allows RDMA usage. + Fix 9000B tests. + Rename confusing l2fwd -> testpmd. + Fix suite setup. + Fix PCI whitelist to not accidentally pickup wrong interface. + Fix deprecated DPDK cli arguments. - MLX5 jumbo are disabled on NIC (i will increase separately). https://jenkins.fd.io/job/csit-dpdk-perf-verify-master-2n-clx/6/console (l3fwd still broken) - MLX5 IMIX seems to be some TRex issue with IMIX for mlx5 (i will handle separately) Signed-off-by: Peter Mikus Change-Id: I31d1b67305fa247cb5e1f57e739d3ef30dc1a04b --- tests/dpdk/dpdk_scripts/run_l2fwd.sh | 148 ----------------------------------- 1 file changed, 148 deletions(-) delete mode 100755 tests/dpdk/dpdk_scripts/run_l2fwd.sh (limited to 'tests/dpdk/dpdk_scripts/run_l2fwd.sh') diff --git a/tests/dpdk/dpdk_scripts/run_l2fwd.sh b/tests/dpdk/dpdk_scripts/run_l2fwd.sh deleted file mode 100755 index 0ec4f2d85f..0000000000 --- a/tests/dpdk/dpdk_scripts/run_l2fwd.sh +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2020 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -xuo pipefail - -# Setting variables. -DPDK_DIR="dpdk" -ROOTDIR="/tmp/openvpp-testing" -TESTPMDLOG="screenlog.0" -PWDDIR="$(pwd)" - -# Setting command line arguments. -cpu_corelist="${1}" -nb_cores="${2}" -queue_nums="${3}" -jumbo_frames="${4}" -rxd="${5:-128}" -txd="${6:-512}" -arch="$(uname -m)" - -# DPDK prefers "arm64" to "aarch64" and does not allow arm64 native target. -if [ "${arch}" == "aarch64" ]; then - arch="arm64" - machine="armv8a" -else - machine="native" -fi - -# Try to kill the testpmd. -sudo pgrep testpmd -if [ ${?} -eq "0" ]; then - success=false - sudo pkill testpmd - echo "RC = ${?}" - for attempt in {1..60}; do - echo "Checking if testpmd is still alive, attempt nr ${attempt}" - sudo pgrep testpmd - if [ ${?} -eq "1" ]; then - echo "testpmd is dead" - success=true - break - fi - echo "testpmd is still alive, waiting 1 second" - sleep 1 - done - if [ "${success}" = false ]; then - echo "The command sudo pkill testpmd failed" - sudo pkill -9 testpmd - echo "RC = ${?}" - exit 1 - fi -else - echo "testpmd is not running" -fi - -# Try to kill the l3fwd. -sudo pgrep l3fwd -if [ ${?} -eq "0" ]; then - success=false - sudo pkill l3fwd - echo "RC = ${?}" - for attempt in {1..60}; do - echo "Checking if l3fwd is still alive, attempt nr ${attempt}" - sudo pgrep l3fwd - if [ ${?} -eq "1" ]; then - echo "l3fwd is dead" - success=true - break - fi - echo "l3fwd is still alive, waiting 1 second" - sleep 1 - done - if [ "${success}" = false ]; then - echo "The command sudo pkill l3fwd failed" - sudo pkill -9 l3fwd - echo "RC = ${?}" - exit 1 - fi -else - echo "l3fwd is not running" -fi - -# Remove hugepages. -sudo rm -f /dev/hugepages/* - -sleep 2 - -cd "${ROOTDIR}/${DPDK_DIR}/" -rm -f "${TESTPMDLOG}" -TESTPMD_BIN="./${arch}-${machine}-linuxapp-gcc/app/testpmd" - -if [ "${jumbo_frames}" = "yes" ]; then - sudo sh -c "screen -dmSL DPDK-test ${TESTPMD_BIN} \ - -l ${cpu_corelist} -n 4 --log-level 8 -v -- \ - --numa \ - --nb-ports=2 \ - --portmask=0x3 \ - --nb-cores=${nb_cores} \ - --max-pkt-len=9000 \ - --tx-offloads=0x7FFFFFFF \ - --forward-mode=io \ - --rxq=${queue_nums} \ - --txq=$((${nb_cores} + 1)) \ - --burst=64 \ - --rxd=${rxd} \ - --txd=${txd} \ - --disable-link-check \ - --auto-start" -else - sudo sh -c "screen -dmSL DPDK-test ${TESTPMD_BIN} \ - -l ${cpu_corelist} -n 4 --log-level 8 -v -- \ - --numa \ - --nb-ports=2 \ - --portmask=0x3 \ - --nb-cores=${nb_cores} \ - --forward-mode=io \ - --rxq=${queue_nums} \ - --txq=$((${nb_cores} + 1)) \ - --burst=64 \ - --rxd=${rxd} \ - --txd=${txd} \ - --disable-link-check \ - --auto-start" -fi - -for attempt in {1..60}; do - echo "Checking if testpmd is alive, attempt nr ${attempt}" - fgrep "Press enter to exit" "${TESTPMDLOG}" - if [ "${?}" -eq "0" ]; then - exit 0 - fi - sleep 1 -done -cat "${TESTPMDLOG}" - -exit 1 -- cgit 1.2.3-korg