427 Star 1.5K Fork 1.6K

GVPopenEuler/kernel

 / 详情

【OLK-5.10】新增动态大页特性

已完成
任务
创建于  
2022-01-14 10:51

评论 (3)

刘世鑫 创建了任务 3年前
openeuler-ci-bot 添加了
 
sig/Kernel
标签
3年前

Dynamic hugetlb is a self-developed feature based on the hugetlb and memcontrol.
It supports to split huge page dynamically in a memory cgroup. There is a new structure
dhugetlb_pool in every mem_cgroup to manage the pages configured to the mem_cgroup.
For the mem_cgroup configured with dhugetlb_pool, processes in the mem_cgroup will
preferentially use the pages in dhugetlb_pool.

Dynamic hugetlb supports three types of pages, including 1G/2M huge pages and 4K pages.
For the mem_cgroup configured with dhugetlb_pool, processes will be limited to alloc
1G/2M huge pages only from dhugetlb_pool. But there is no such constraint for 4K pages.
If there are insufficient 4K pages in the dhugetlb_pool, pages can also be allocated from
buddy system. So before using dynamic hugetlb, user must know how many huge pages they
need.

Usage:

  1. Add 'dynamic_hugetlb=on' in cmdline to enable dynamic hugetlb feature.
  2. Prealloc some 1G hugepages through hugetlb.
  3. Create a mem_cgroup and configure dhugetlb_pool to mem_cgroup.
  4. Configure the count of 1G/2M hugepages, and the remaining pages in dhugetlb_pool will
    be used as basic pages.
  5. Bound a process to mem_cgroup. then the memory for it will be alloced from dhugetlb_pool.
zhengzengkai 通过合并 Pull Request !481: release 5.10.0-42.0.0任务状态待办的 修改为已完成 3年前

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

   0   1   2   3   4   5   6   7   8   9   10  

 不满意                        非常满意

登录 后才可以发表评论

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

搜索帮助