Commit 54516afb authored by wangyongshou's avatar wangyongshou

add cpu interrupt

parent 1d780628
......@@ -6,7 +6,6 @@ vpp_n3_ip=192.168.2.182
vpp_n6_ip=192.168.2.22
vpp_n3_gw=192.168.2.199
vpp_n6_gw=192.168.2.1
vpp_cpu=3f
#n4 config
n4_gnb=192.168.10.10
......
......@@ -16,6 +16,7 @@ CPUNUMBER=""
UPF_CONFIG=$base/etc/upf.conf
VPP_CONFIG=$base/etc/vppe.conf
VPP_N4=$base/etc/n4_config.yaml
CPU_MIN_NUMS=8
#vpp config
UPF_N3_NAME=""
......@@ -44,6 +45,8 @@ UPF_N6_DRIVER=""
UPF_INTER_IP=""
UPF_INTER_PCI=""
CPU_MASK=""
function start_vppe()
{
$base/bin/vpp -c $base/etc/vppe.conf >/dev/null 2>&1 ;
......@@ -114,6 +117,16 @@ function close_n4()
exit 0
}
function check_system()
{
CPUCORES=$(echo `cat /proc/cpuinfo| grep "processor"| wc -l`)
if [ $CPUCORES -lt $CPU_MIN_NUMS ] ; then
echo "ERROR, cpunums is $CPUCORES, cpunums at least $CPU_MIN_NUMS"
echo "please check system cpu cores"
exit 0
fi
}
function install_driver()
{
sudo modprobe vfio-pci;
......@@ -124,6 +137,7 @@ function install_driver()
echo Y | sudo tee /sys/module/vfio/parameters/enable_unsafe_noiommu_mode
#$base/tools/interreput -i $CPUNUMBER
set_cpu_interrupt
return 0;
}
......@@ -188,6 +202,36 @@ function get_inter_pci()
INTER_NAME=$1
UPF_INTER_PCI=$(echo `$base/tools/ethtool -i ${INTER_NAME} | grep "bus-info" | awk '{print $2}'`)
}
function set_cpu_interrupt()
{
CPUCORES=$(echo `cat /proc/cpuinfo| grep "processor"| wc -l`)
CPUMASK=$((${CPUCORES} - 3))
((INTE_NUM=$CPUMASK/4));
((REMAIN_NUM=$CPUMASK%4));
if [ $REMAIN_NUM -ne 0 ]; then
temp="$REMAIN_NUM"
CPU_MASK=$temp
fi
UPF_MAINCORE=`expr $CPUCORES - 3`
while [ $INTE_NUM != 0 ]
do
INTE_NUM=$(($INTE_NUM - 1))
tmp=${CPU_MASK}"F"
CPU_MASK=${tmp}
done
echo "cpunum:$CPUCORES, cpumask:$CPU_MASK"
$base/plugin/interreput -i $CPU_MASK
}
function generate_instance()
{
cp -f $base/etc/startup_debug.template $base/etc/vppe.conf
......@@ -239,7 +283,6 @@ function get_driver()
else
echo "$UPF_N6_NAME pci $UPF_N6_DRIVER"
fi
}
function get_pci()
......@@ -427,37 +470,8 @@ function help()
function main()
{
num=15
((tt=16#$num));
echo $tt
a=13
t=$(echo "obase=16;$a"|bc)
echo $t
((b=$a/4));
((c=$a%4));
echo $b
echo $c
gg=""
while [ $b != 0 ]
do
((b=b-1))
$gg=$gg"F"
echo "111"
echo $b
echo $gg
sleep 1
echo "2222"
done
echo $gg
return
check_system
if [ $# -eq 0 ];
then
help
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment