v1->v2: Fix compile error. v2->v3: Wrap core functions with dpool_ prefix to avoid call them directly.
This part include:
1. Compatible with memory reliable feature[1-3]. 2. Compatible with memory migration[4] 3. Fix an incorrect set of subpool[5]. 4. Make the lock in dynamic pool irq safe[6]. 5. Wrap core functions with dpool_ prefix to avoid call them directly[7].
Liu Shixin (7): mm/dynamic_pool: Stop alloc reliable page from dynamic pool mm/mem_reliable: Treat page from dhugetlb pool as unreliable page mm/mem_reliable: Fallback to dpool if reliable memory is not enough mm/dynamic_pool: skip unexpected migration mm/dynamic_pool: don't set subpool for page from dynamic pool mm/dynamic_pool: disable irq for dynamic_pool lock mm/dynamic_pool: Wrap some core functions with dpool prefix
include/linux/dynamic_pool.h | 6 ++ include/linux/mem_reliable.h | 3 + mm/compaction.c | 4 ++ mm/dynamic_pool.c | 128 +++++++++++++++++++---------------- mm/hugetlb.c | 3 +- mm/internal.h | 12 ++-- mm/migrate.c | 7 ++ mm/page_alloc.c | 53 +++++++++++++-- mm/page_isolation.c | 9 ++- 9 files changed, 155 insertions(+), 70 deletions(-)