From 23d5452836be14a4c11ab0144393645377026291 Mon Sep 17 00:00:00 2001 From: jiangheng12 Date: Sat, 20 May 2023 19:29:56 +0800 Subject: [PATCH] modify hugepage directory name (cherry picked from commit 06641669becb11d11b852f4d0e8f308c17d499a8) --- 0240-modify-huge-dir-dir-name.patch | 92 +++++++++++++++++++++++++++++ gazelle.spec | 6 +- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 0240-modify-huge-dir-dir-name.patch diff --git a/0240-modify-huge-dir-dir-name.patch b/0240-modify-huge-dir-dir-name.patch new file mode 100644 index 0000000..0ededac --- /dev/null +++ b/0240-modify-huge-dir-dir-name.patch @@ -0,0 +1,92 @@ +From e81e8e8febb948e9e378c62661d18ebbed73ea34 Mon Sep 17 00:00:00 2001 +From: wu-changsheng +Date: Tue, 2 Aug 2022 11:27:23 +0800 +Subject: [PATCH] modify-huge-dir-dir-name + +--- + README.md | 20 ++++++++++---------- + src/lstack/lstack.conf | 2 +- + src/ltran/ltran.conf | 2 +- + 3 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/README.md b/README.md +index 3c1487c..887a4ae 100644 +--- a/README.md ++++ b/README.md +@@ -71,12 +71,12 @@ grep Huge /proc/meminfo + ### 4. 挂载大页内存 + 创建两个目录,分别给lstack的进程、ltran进程访问大页内存使用。操作步骤如下: + ``` sh +-mkdir -p /mnt/hugepages +-mkdir -p /mnt/hugepages-2M +-chmod -R 700 /mnt/hugepages +-chmod -R 700 /mnt/hugepages-2M +-mount -t hugetlbfs nodev /mnt/hugepages -o pagesize=2M +-mount -t hugetlbfs nodev /mnt/hugepages-2M -o pagesize=2M ++mkdir -p /mnt/hugepages-ltran ++mkdir -p /mnt/hugepages-lstack ++chmod -R 700 /mnt/hugepages-ltran ++chmod -R 700 /mnt/hugepages-lstack ++mount -t hugetlbfs nodev /mnt/hugepages-ltran -o pagesize=2M ++mount -t hugetlbfs nodev /mnt/hugepages-lstack -o pagesize=2M + ``` + + ### 5. 应用程序使用Gazelle +@@ -116,7 +116,7 @@ GAZELLE_BIND_PROCNAME=test LD_PRELOAD=/usr/lib64/liblstack.so ./test + + lstack.conf示例: + ``` conf +-dpdk_args=["--socket-mem", "2048,0,0,0", "--huge-dir", "/mnt/hugepages-2M", "--proc-type", "primary", "--legacy-mem", "--map-perfect"] ++dpdk_args=["--socket-mem", "2048,0,0,0", "--huge-dir", "/mnt/hugepages-lstack", "--proc-type", "primary", "--legacy-mem", "--map-perfect"] + + use_ltran=1 + kni_switch=0 +@@ -150,7 +150,7 @@ devices="aa:bb:cc:dd:ee:ff" + + ltran.conf示例: + ``` conf +-forward_kit_args="-l 0,1 --socket-mem 1024,0,0,0 --huge-dir /mnt/hugepages --proc-type primary --legacy-mem --map-perfect --syslog daemon" ++forward_kit_args="-l 0,1 --socket-mem 1024,0,0,0 --huge-dir /mnt/hugepages-ltran --proc-type primary --legacy-mem --map-perfect --syslog daemon" + forward_kit="dpdk" + + kni_switch=0 +@@ -248,8 +248,8 @@ Gazelle可能存在如下安全风险,用户需要根据使用场景评估风 + + **共享内存** + - 现状 +- 大页内存 mount 至 /mnt/hugepages-2M 目录,链接 liblstack.so 的进程初始化时在 /mnt/hugepages-2M 目录下创建文件,每个文件对应 2M 大页内存,并 mmap 这些文件。ltran 在收到 lstask 的注册信息后,根据大页内存配置信息也 mmap 目录下文件,实现大页内存共享。 +- ltran 在 /mnt/hugepages 目录的大页内存同理。 ++ 大页内存 mount 至 /mnt/hugepages-lstack 目录,链接 liblstack.so 的进程初始化时在 /mnt/hugepages-lstack 目录下创建文件,每个文件对应 2M 大页内存,并 mmap 这些文件。ltran 在收到 lstask 的注册信息后,根据大页内存配置信息也 mmap 目录下文件,实现大页内存共享。 ++ ltran 在 /mnt/hugepages-ltran 目录的大页内存同理。 + - 当前消减措施 + 大页文件权限 600,只有 OWNER 用户才能访问文件,默认 root 用户,支持配置成其它用户; + 大页文件有 DPDK 文件锁,不能直接写或者映射。 +diff --git a/src/lstack/lstack.conf b/src/lstack/lstack.conf +index b53068d..1a91aee 100644 +--- a/src/lstack/lstack.conf ++++ b/src/lstack/lstack.conf +@@ -8,7 +8,7 @@ + # PURPOSE. + # See the Mulan PSL v2 for more details. + +-dpdk_args=["--socket-mem", "2048,0,0,0", "--huge-dir", "/mnt/hugepages-2M", "--proc-type", "primary", "--legacy-mem", "--map-perfect"] ++dpdk_args=["--socket-mem", "2048,0,0,0", "--huge-dir", "/mnt/hugepages-lstack", "--proc-type", "primary", "--legacy-mem", "--map-perfect"] + + use_ltran=1 + kni_switch=0 +diff --git a/src/ltran/ltran.conf b/src/ltran/ltran.conf +index cfcd5f7..3c1a2bc 100644 +--- a/src/ltran/ltran.conf ++++ b/src/ltran/ltran.conf +@@ -8,7 +8,7 @@ + # PURPOSE. + # See the Mulan PSL v2 for more details. + +-forward_kit_args="-l 0,1 --socket-mem 1024,0,0,0 --huge-dir /mnt/hugepages --proc-type primary --legacy-mem --map-perfect --syslog daemon" ++forward_kit_args="-l 0,1 --socket-mem 1024,0,0,0 --huge-dir /mnt/hugepages-ltran --proc-type primary --legacy-mem --map-perfect --syslog daemon" + forward_kit="dpdk" + + kni_switch=0 +-- +2.23.0 + diff --git a/gazelle.spec b/gazelle.spec index e3f939e..85fc81b 100644 --- a/gazelle.spec +++ b/gazelle.spec @@ -2,7 +2,7 @@ Name: gazelle Version: 1.0.1 -Release: 57 +Release: 58 Summary: gazelle is a high performance user-mode stack License: MulanPSL-2.0 URL: https://gitee.com/openeuler/gazelle @@ -254,6 +254,7 @@ Patch9236: 0236-dfx-security-function-failed-return-error-directly.patch Patch9237: 0237-add-bond4-suport.patch Patch9238: 0238-clean-code.patch Patch9239: 0239-add-udp-multicast-support-in-gazelle.patch +Patch9240: 0240-modify-huge-dir-dir-name.patch %description %{name} is a high performance user-mode stack. @@ -294,6 +295,9 @@ install -Dpm 0640 %{_builddir}/%{name}-%{version}/src/ltran/ltran.conf %{b %config(noreplace) %{conf_path}/ltran.conf %changelog +* Sat May 20 2023 jiangheng - 1.0.1-58 +- modify hugepage directory name + * Tue May 16 2023 kircher - 1.0.1-57 - add udp multicast support in gazelle - clean code