feat(TSG-15805): OS启动时分配大页内存

This commit is contained in:
wangmenglan
2023-07-03 20:03:15 +08:00
parent 9666bbc7e3
commit ee41b1ef23
3 changed files with 43 additions and 3 deletions

View File

@@ -7,3 +7,5 @@
# MRZCPD_DIRECT_PKTMBUF= # MRZCPD_DIRECT_PKTMBUF=
# MRZCPD_INDIRECT_PKTMBUF= # MRZCPD_INDIRECT_PKTMBUF=
# GRUB_CMDLINE=

View File

@@ -14,6 +14,7 @@ cpu_core_num=$(lscpu | grep "CPU(s):" | head -n 1 | sed -r 's/CPU\(s\):\s{1,}//
mem_num=$(free -m | grep Mem | awk '{print $2}') mem_num=$(free -m | grep Mem | awk '{print $2}')
HUGEPAGES= HUGEPAGES=
GRUB_CMDLINE=
NUMA_NODE_CNT= NUMA_NODE_CNT=
MRZCPD_IOCORE= MRZCPD_IOCORE=
CLIXON_IOCORE= CLIXON_IOCORE=
@@ -66,7 +67,7 @@ set_os_hugepages()
{ {
[ -f ${mrzcpd_cfg_file} ] && sed -i "s/HUGEPAGE_NUM_1G=\w*/HUGEPAGE_NUM_1G=${HUGEPAGES}/g" ${mrzcpd_cfg_file} [ -f ${mrzcpd_cfg_file} ] && sed -i "s/HUGEPAGE_NUM_1G=\w*/HUGEPAGE_NUM_1G=${HUGEPAGES}/g" ${mrzcpd_cfg_file}
sysctl -w vm.nr_hugepages=${HUGEPAGES} # sysctl -w vm.nr_hugepages=${HUGEPAGES}
return 0 return 0
} }
@@ -132,12 +133,49 @@ set_bridge()
ip link set br_dign_s up ip link set br_dign_s up
} }
set_grub_cmdline_file()
{
local result=0
local grub_cmdline_key="$1"
local grub_cmdline_value="$2"
if ! grep -q " ${grub_cmdline_key}=" "$grub_cfg_file"; then
sed -i "/ linux / s/$/ ${grub_cmdline_key}=${grub_cmdline_value}/" $grub_cfg_file
result=1
elif ! grep -q " ${grub_cmdline_key}=${grub_cmdline_value}" "$grub_cfg_file"; then
sed -i "s/ ${grub_cmdline_key}=\w\+/ ${grub_cmdline_key}=${grub_cmdline_value}/g" $grub_cfg_file
result=1
fi
return $result
}
set_grub_cmdline()
{
local set_grub_flag=0
grub_cmdline_key=("hugepagesz" "hugepages")
grub_cmdline_value=("1G" ${HUGEPAGES})
for index in "${!grub_cmdline_key[@]}"
do
set_grub_cmdline_file ${grub_cmdline_key[$index]} ${grub_cmdline_value[$index]}
if [ "$?" == "1" ]; then
set_grub_flag=1
fi
done
if [ "$set_grub_flag" == "1" ]; then
reboot
fi
}
load_tsg_os_HAL_config load_tsg_os_HAL_config
set_hugepages
set_grub_cmdline
/opt/tsg/mrzcpd/bin/mrmarch --auto /opt/tsg/mrzcpd/bin/mrmarch --auto
set_cpu_list set_cpu_list
set_hugepages
set_mrzcpd_indirect_pktmbuf set_mrzcpd_indirect_pktmbuf
set_mrzcpd_direct_pktmbuf set_mrzcpd_direct_pktmbuf

View File

@@ -1,5 +1,5 @@
[Unit] [Unit]
Description=Tsg os HAL Description=TSG-OS HAL
Before=tsg-clixon-backend.service Before=tsg-clixon-backend.service
[Service] [Service]