Unverified Commit cc16eb45 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3976 Introduce dynamic pool feature

Merge Pull Request from: @ci-robot 
 
PR sync from: Liu Shixin <liushixin2@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/7FMVCZPLH3ZICEQCGFXDT6I23BKQ3GBN/ 
Rename from dynamic hugetlb(OLK_5.10) to dynamic pool.

A per-memcg pagepool. The task in the memcg will prefer to alloc
pages from corresponding pool.

Liu Shixin (26):
  mm/memcg: introduce mem_cgroup_scan_cgroups to scan all memcgs
  mm/memcg: introduce memcg_has_children to check memcg
  mm/dynamic_pool: introduce per-memcg memory pool
  mm/dynamic_pool: introduce PG_dpool to mark free pages in dpool
  mm/dynamic_pool: introduce PG_pool to mark pages allocated from dpool
  mm/dynamic_pool: create dpool by dhugetlb.nr_pages interface
  mm/dynamic_pool: fill dpool with HugeTLB 1G pages
  mm/dynamic_pool: add interface to configure the count of hugepages
  mm/dynamic_pool: add restore_pool ops to reclaim memory and restore
    hugepages
  mm/dynamic_pool: support to flow pages between 1G and 2M pages pool
  mm/dynamic_pool: support to flow pages between 2M and 4K pages pool
  mm/dynamic_pool: migrate used pages before promote to huge page
  mm/dynamic_pool: call mem_cgroup_force_empty before restore pool
  mm/dynamic_pool: prevent task attach to another dpool
  mm/dynamic_pool: support page allocation from dpool
  mm/dynamic_pool: speed up allocation by percpu pages pool
  mm/dynamic_pool: check resv for HugeTLB allocation from dpool
  mm/dynamic_pool: support HugeTLB page allocation from dpool
  mm/dynamic_pool: add tracepoints for dpool
  mm/dynamic_pool: fill dpool with pagelist
  mm/dynamic_pool: disable THP for task attached with dpool
  mm/dynamic_pool: compatible with HugeTLB dissolve
  mm/dynamic_pool: compatible with HugeTLB Vmemmap
  mm/dynamic_pool: compatible with memory hwpoison
  mm/dynamic_pool: add Document for dynamic hugetlb feature
  mm/dynamic_pool: enable CONFIG_DYNAMIC_POOL on x86_64 and arm64 by
    default


-- 
2.25.1
 
https://gitee.com/openeuler/kernel/issues/I8S9BY 
 
Link:https://gitee.com/openeuler/kernel/pulls/3976

 

Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: default avatarLu Jialin <lujialin4@huawei.com>
Reviewed-by: default avatarzhangyi (F) <yi.zhang@huawei.com>
Reviewed-by: default avatarXu Kuohai <xukuohai@huawei.com>
Reviewed-by: default avatarZucheng Zheng <zhengzucheng@huawei.com>
Reviewed-by: default avatarLiu Chao <liuchao173@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents 2212880a 90368855
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment