398 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

4.19新增memory reliable功能

已完成
需求
创建于  
2022-01-30 11:36

Introduction

Memory reliable feature is a memory tiering mechanism. It is based on
kernel mirror feature, which splits memory into two sperate regions,
mirrored(reliable) region and non-mirrored (non-reliable) region.

for kernel mirror feature:

  • allocate kernel memory from mirrored region by default
  • allocate user memory from non-mirrored region by default

non-mirrored region will be arranged into ZONE_MOVABLE.

for kernel reliable feature, it has additional features below:

  • normal user tasks never alloc memory from mirrored region with userspace
    apis(malloc, mmap, etc.)
  • special user tasks will allocate memory from mirrored region by default
  • tmpfs/pagecache allocate memory from mirrored region by default
  • upper limit of mirrored region allcated for user tasks, tmpfs and
    pagecache

Support Reliable fallback mechanism which allows special user tasks, tmpfs
and pagecache can fallback to alloc non-mirrored region, it's the default
setting.

In order to fulfil the goal

  • ___GFP_RELIABILITY flag added for alloc memory from mirrored region.

  • the high_zoneidx for special user tasks/tmpfs/pagecache is set to
    ZONE_NORMAL.

  • normal user tasks could only alloc from ZONE_MOVABLE.

This patch is just the main framework, memory reliable support for special
user tasks, pagecache and tmpfs has own patches.

To enable this function, mirrored(reliable) memory is needed and
"kernelcore=reliable" should be added to kernel parameters.

评论 (2)

Ma Wupeng 创建了需求

Hi ma-wupeng, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @YangYingliang , @pi3orama , @成坚 (CHENG Jian) , @Qiuuuuu , @zhengzengkai , @Xie XiuQi

openeuler-ci-bot 添加了
 
sig/Kernel
标签
Ma Wupeng 修改了描述
Qiuuuuu 通过src-openeuler/kernel Pull Request !510任务状态新建 修改为已完成

诚邀Issue的创建人,负责人,协作人以及评论人对此次Issue解决过程给予评价:

   0   1   2   3   4   5   6   7   8   9   10  

 不满意                        非常满意

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936 9968373 openeuler survey bot 1637036855
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助