diff options
| author | songyanchao <[email protected]> | 2022-12-23 06:11:33 +0000 |
|---|---|---|
| committer | songyanchao <[email protected]> | 2022-12-23 06:11:33 +0000 |
| commit | e01b25a8e5504899e997d5eab8c5a3ff29016531 (patch) | |
| tree | f6d450ee48cf0f0c2d44190c7654e9e41e43d429 /tools/systemd | |
| parent | e36dc15ee97ad00fc2ef04f540e284baa907ff8b (diff) | |
🐞 fix(TSG-13124): 修复"enable_unsafe_noiommu_mod"设置失败、“systemctl stop”响应时间过长问题
修复"enable_unsafe_noiommu_mod"设置失败、“systemctl stop”响应时间过长问题
Diffstat (limited to 'tools/systemd')
| -rw-r--r-- | tools/systemd/mrenv-script | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/tools/systemd/mrenv-script b/tools/systemd/mrenv-script index d769ab2..074c569 100644 --- a/tools/systemd/mrenv-script +++ b/tools/systemd/mrenv-script @@ -60,7 +60,7 @@ function module_load_kni() echo -n "$KNI_MODULE_FILENAME does not existed. " return 1 fi - + module_unload_kni insmod $MODULE_PATH/$KNI_MODULE_FILENAME > /dev/null 2>&1 [ ! $? -eq 0 ] && echo -n " $MODULE_PATH/$KNI_MODULE_FILENAME load failure." && return 1 @@ -93,9 +93,10 @@ function module_unload_vfio_pci() function module_load_vfio_pci() { - modprobe vfio enable_unsafe_noiommu_mode=1 + modprobe vfio [ ! $? -eq 0 ] && echo "failed at modprobe vfio" && return 1 + echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode modprobe vfio_pci return $? } @@ -124,7 +125,7 @@ function huge_release_1G() umount $HUGEPAGE_PATH_1G > /dev/null [ ! $? -eq 0 ] && echo "umount 1G hugepage failure, maybe in use" && return 1 fi - + if [ -d $HUGEPAGE_PATH_1G ] ; then rm -R $HUGEPAGE_PATH_1G [ ! $? -eq 0 ] && echo "Cannot delete 2M hugepage" && return 1 @@ -133,7 +134,7 @@ function huge_release_1G() if [ $HUGEPAGE_NUM_1G -ne 0 ]; then echo -n 0 > $NR_HUGEPAGE_FILE_1G fi - + return 0 } @@ -146,16 +147,16 @@ function huge_release_2M() umount $HUGEPAGE_PATH_2M > /dev/null [ ! $? -eq 0 ] && echo "umount 2M hugepage failure, maybe in use" && return 1 fi - + if [ -d $HUGEPAGE_PATH_2M ] ; then rm -R $HUGEPAGE_PATH_2M [ ! $? -eq 0 ] && echo "Cannot delete 2M hugepage" && return 1 fi - + if [ $HUGEPAGE_NUM_2M -ne 0 ]; then echo -n 0 > $NR_HUGEPAGE_FILE_2M fi - + return 0 } @@ -164,7 +165,7 @@ function huge_alloc_1G() if [ ! -e $NR_HUGEPAGE_FILE_1G ]; then return 1 fi - + echo -n $HUGEPAGE_NUM_1G > $NR_HUGEPAGE_FILE_1G [ $? -eq 0 ] && return 0 return 1 @@ -175,7 +176,7 @@ function huge_alloc_2M() if [ ! -e $NR_HUGEPAGE_FILE_2M ]; then return 1 fi - + echo -n $HUGEPAGE_NUM_2M > $NR_HUGEPAGE_FILE_2M [ $? -eq 0 ] && return 0 return 1 @@ -186,13 +187,13 @@ function huge_mount_1G() if [ ! -e $NR_HUGEPAGE_FILE_1G ]; then return 0 fi - + SIZE_1G=$(cat $NR_HUGEPAGE_FILE_1G) if [ $SIZE_1G -eq 0 ]; then return 0 fi - mkdir -p $HUGEPAGE_PATH_1G + mkdir -p $HUGEPAGE_PATH_1G mount -t hugetlbfs nodev -o pagesize=1G $HUGEPAGE_PATH_1G [ $? -eq 0 ] && return 0 return 1 @@ -203,13 +204,13 @@ function huge_mount_2M() if [ ! -e $NR_HUGEPAGE_FILE_2M ]; then return 0 fi - + SIZE_2M=$(cat $NR_HUGEPAGE_FILE_2M) if [ $SIZE_2M -eq 0 ]; then return 0 fi - mkdir -p $HUGEPAGE_PATH_2M + mkdir -p $HUGEPAGE_PATH_2M mount -t hugetlbfs nodev -o pagesize=2M $HUGEPAGE_PATH_2M [ $? -eq 0 ] && return 0 return 1 @@ -256,7 +257,7 @@ function nic_unbind_ixgbe() OLDIFS=$IFS; IFS=, for ITER_PCI_ADDR in $PCI_ADDR_IXGBE; do $NICTOOL --force -b ixgbe $ITER_PCI_ADDR - [ ! $? -eq 0 ] && return 1 + [ ! $? -eq 0 ] && return 1 done IFS=$OLDIFS return 0 @@ -373,7 +374,7 @@ function module_load() if [ "$DEFAULT_UIO_MODULE" == "vfio_pci" ]; then module_load_vfio_pci return $? - fi + fi return 0 } @@ -412,8 +413,8 @@ function stop() [ ! $? -eq 0 ] && return 1 return 0 } - -function restart() + +function restart() { stop start $* |
