那在x86上和ARM上存在的这种差异,是因为在两个架构上对于mmap的实现差异导致的嘛,还是说现在非对齐情况下使用暂时就是一种未定义行为会导致不确定的结果 ---原始邮件--- 发件人: "Zhoukang (A)" ; 发送时间: 2023年3月3日(周五) 下午4:30 收件人: "Liuzixian" ;;"常新" ;;"dev@openeuler.org" ;; 抄送: "lvying" ;;"linfeilong" ;; 主题: RE: 回复:答复: 您好 关于内核大页特性怎么开启,需要请教一下
相关讨论 , 请抄送 dev@openeuler.org , 方便后续搜索类似问题
From: Liuzixian ;
Sent: Friday, March 3, 2023 4:26 PM To: 常新 ; Cc: Zhoukang (A) ;; lvying ;; linfeilong ; Subject: 答复 : 回复:答复 : 您好 关于内核大页特性怎么开启,需要请教一下
动态库的实现代码没有加这个约束,但目前我们认为支持非对齐的动态库较复杂,且未看到支持非对齐的需求,后期可能考虑删除。 写文档时考虑到实际产品均对齐使用,因此增加了约束限制,并且 openEuler 没有验证非对齐场景。
发件人 : 常新 x_xiny@qq.com >;
发送时间 : 2023 年 3 月 3 日 15:36 收件人 : Liuzixian liuzixian4@huawei.com >; 主题 : 回复:答复 : 您好 关于内核大页特性怎么开启,需要请教一下
你好,文档上有一个约束条件,要求 2m 对齐,动态库也受这个约束嘛,我试了一下,在 x86 平台上动态库也受这个约束,但是在 ARM 平台上好像动态库不受限制,
我跑的是这个用例 tst-ld-use-hugpage.c 里面的用例 环境设置为
sysctl fs.exec-use-hugetld=1
export LD_HUGEPAGE_LIB=1
HUGEPAGE_PROBE 没有设置,
也没有对动态库和二进制文件进行标记,
执行了 echo 200 >; /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages ,
2209 分支 x86 版本中动态库没有被大页映射, KernelPageSize 全部都是 4k 的,但是 ARM 平台上动态库被映射了 2m 的大页,是 x86 和 ARM 约束条件不一样吗,还是这是一个 bug
--- 原始邮件 ---
发件人 : "Liuzixian" liuzixian4@huawei.com >;
发送时间 : 2023 年 2 月 9 日 ( 周四 ) 上午 9:21
收件人 : "x_xiny" x_xiny@qq.com >;;
主题 : 答复 : 您好 关于内核大页特性怎么开启,需要请教一下
22 . 09 版本文档链接: https://docs.openeuler.org/zh/docs/22.09/docs/A-Tune/native-turbo.html
发件人 : Liuzixian ;
发送时间 : 2023 年 2 月 9 日 9:20 收件人 : ' 常新 ' x_xiny@qq.com >; 抄送 : Zhoukang (A) zhoukang7@huawei.com >;; linfeilong linfeilong@huawei.com >; 主题 : 答复 : 您好 关于内核大页特性怎么开启,需要请教一下
22.09 版本使用 sysctl 开关( exec-use-hugetlb ) PR 中的这个 commit 增加了该开关: https://gitee.com/openeuler/kernel/commit/1efdacff482d8609bed72b9de61b6cc288...
环境变量改为 sysctl 的理由如下: 1 、 内核原生不支持判断环境变量,不符合社区使用方式 2 、 22.03 还有内核启动参数 exec-hugepages 进行控制,调试时不如 sysctl 方便,在 22.09 合并到 sysctl 中 3 、 有使用者反馈业务启动代码有 sudo app_start 这样切换用户的场景,无法继承环境变量。
如果您有关于该特性使用方式的建议,也可以反馈给我们。
发件人 : 常新 x_xiny@qq.com >;
发送时间 : 2023 年 2 月 8 日 17:48 收件人 : Liuzixian liuzixian4@huawei.com >; 抄送 : Zhoukang (A) zhoukang7@huawei.com >; 主题 : 您好 关于内核大页特性怎么开启,需要请教一下
您好,有个问题向您请教一下,我看见你们已经在 kernel2209 分支上合入了大页的特性,这个在 5.10 上怎么开启
https://gitee.com/openeuler/kernel/pulls/59
我看见开启大页功能这个在 4.19 内核版本上可以通过设置环境变量的方式 export HUGEPAGE_ELF=1 的方式开启 看这里是通过加了几个补丁做了这么一个功能,
https://gitee.com/openeuler/native-turbo/blob/master/kernel-patch/kernel-4.1...
我在 5.10 内核上没有看见相关的代码,如果开启这个功能的话,是需要同步这些补丁吗?
或者有没有相关的文档呀 感谢