!3921 mm: mem_reliable: Introduce memory reliable
Merge Pull Request from: @ci-robot PR sync from: Wupeng Ma <mawupeng1@huawei.com> https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/IGGF4NQ2OHXEVHFTNO4A6DC6ODAQA42Q/ From: Ma Wupeng <mawupeng1@huawei.com> Introduction ============ Memory reliable feature is a memory tiering mechanism. It is based on kernel mirror feature, which splits memory into two separate 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 - shmem/pagecache allocate memory from mirrored region by default - upper limit of mirrored region allcated for user tasks, shmem and page cache Support Reliable fallback mechanism which allows special user tasks, shmem and page cache can fallback to alloc non-mirrored region, it's the default setting. In order to fulfil the goal - GFP_KERNEL flag added for task to alloc memory from mirrored region. - the high_zoneidx for special user tasks/shmem/pagecache is set to ZONE_NORMAL to alloc memory from mirrored region. - normal user tasks can only alloc memory from ZONE_MOVABLE. Changelog since v1: - update bugzilla url. Chen Wandun (1): mm: mem_reliable: Alloc pagecache from reliable region Ma Wupeng (16): proc: introduce proc_hide_ents to hide proc files efi: Disable mirror feature during crashkernel mm: mem_reliable: Introduce memory reliable mm: mem_reliable: Alloc task memory from reliable region mm: mem_reliable: Add memory reliable support during hugepaged collapse mm/memblock: Introduce ability to alloc memory from specify memory region mm/hugetlb: Allocate non-mirrored memory by default mm: mem_reliable: Count reliable page cache usage mm: mem_reliable: Count reliable shmem usage mm: mem_reliable: Show reliable meminfo mm: mem_reliable: Add limiting the usage of reliable memory mm: mem_reliable: Introduce fallback mechanism for memory reliable proc: mem_reliable: Count reliable memory usage of reliable tasks mm: mem_reliable: Introduce proc interface to disable memory reliable features mm: mem_reliable: Show debug info about memory reliable if oom occurs config: enable MEMORY_RELIABLE by default Peng Wu (1): mm: mem_reliable: Add cmdline reliable_debug to enable separate feature Zhou Guanghui (1): shmem: mem_reliable: Alloc shmem from reliable region -- 2.25.1 https://gitee.com/openeuler/kernel/issues/I8USBA Link:https://gitee.com/openeuler/kernel/pulls/3921 Reviewed-by:Kefeng Wang <wangkefeng.wang@huawei.com> Reviewed-by:
Zucheng Zheng <zhengzucheng@huawei.com> Reviewed-by:
Liu Chao <liuchao173@huawei.com> Reviewed-by:
Xu Kuohai <xukuohai@huawei.com> Reviewed-by:
Weilong Chen <chenweilong@huawei.com> Reviewed-by:
zhangyi (F) <yi.zhang@huawei.com> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Loading
Please sign in to comment