FAPI TM, WLS_LIB and ODULOW documentation
[o-du/phy.git] / wls_lib / testapp / wls_test.sh
1 #!/bin/bash
2 ###############################################################################
3 #
4 #   Copyright (c) 2019 Intel.
5 #
6 #   Licensed under the Apache License, Version 2.0 (the "License");
7 #   you may not use this file except in compliance with the License.
8 #   You may obtain a copy of the License at
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
12 #   Unless required by applicable law or agreed to in writing, software
13 #   distributed under the License is distributed on an "AS IS" BASIS,
14 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 #   See the License for the specific language governing permissions and
16 #   limitations under the License.
17 #
18 ###############################################################################
19
20 COREMASK=2
21 SECONDARY=1
22 FPREFIX="wls"
23 DPDK_WLS=0
24
25 while getopts ":mpa:w:" opt; do
26   case ${opt} in
27     m )
28       SECONDARY=0
29       ;;
30     a )
31       COREMASK=$((1 << $OPTARG))
32       ;;
33     : )
34       echo "Invalid option: $OPTARG requires a core number"
35       exit 1
36       ;;
37     w )
38       #replace / with _ for dpdk file prefix
39       FPREFIX=${OPTARG////_}
40       ;;
41     : )
42       echo "Invalid option: $OPTARG requires dev wls path"
43       exit 1
44       ;;
45     p )
46       DPDK_WLS=1
47       ;;
48   esac
49 done
50
51 wlsTestBinary="wls_test"
52 if [ $DPDK_WLS -eq 1 ]; then
53     if [ $SECONDARY -eq 0 ]; then
54         wlsTestBinary="build/wls_test -c $COREMASK -n 4 "
55         wlsTestBinary+="--file-prefix=$FPREFIX --socket-mem=3072 --"
56     else
57         wlsTestBinary="build/wls_test -c $COREMASK -n 4 "
58         wlsTestBinary+="--proc-type=secondary --file-prefix=$FPREFIX --"
59     fi
60 fi
61
62 ulimit -c unlimited
63
64 export RTE_WLS=$PWD/..
65
66 MACHINE_TYPE=`uname -m`
67
68 if [ ${MACHINE_TYPE} == 'x86_64' ]; then
69     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RTE_WLS
70
71     grep Huge /proc/meminfo
72
73     ulimit -c unlimited
74     echo 1 > /proc/sys/kernel/core_uses_pid
75     sysctl -w kernel.sched_rt_runtime_us=-1
76     for c in $(ls -d /sys/devices/system/cpu/cpu[0-9]*); do echo performance >$c/cpufreq/scaling_governor; done
77     sysctl -w kernel.shmmax=2147483648
78     sysctl -w kernel.shmall=2147483648
79 fi
80
81 wlsCmd="./${wlsTestBinary} $*"
82 echo "Running... ${wlsCmd}"
83
84 eval $wlsCmd
85
86 exit 0