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

!7198 v2 mm: prepare more high-order pages on pcplist

Merge Pull Request from: @ci-robot 
 
PR sync from: Liu Shixin <liushixin2@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/VVEQJIUVZX26A6HL4XMULA4G6ZKTEWTW/ 
Baolin Wang (1):
  mm: page_alloc: use the correct THP order for THP PCP

Liu Shixin (1):
  mm: prepare more high-order pages to be stored on the per-cpu lists


-- 
2.25.1
 
https://gitee.com/openeuler/kernel/issues/I9OCYO 
 
Link:https://gitee.com/openeuler/kernel/pulls/7198

 

Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarZhang Peng <zhangpeng362@huawei.com>
parents 27f522d6 ab314175
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -684,10 +684,12 @@ enum zone_watermarks {
 */
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
#define NR_PCP_THP 1
#define NR_PCP_ORDERS (PAGE_ALLOC_COSTLY_ORDER + 2)
#else
#define NR_PCP_THP 0
#define NR_PCP_ORDERS (PAGE_ALLOC_COSTLY_ORDER + 1)
#endif
#define NR_LOWORDER_PCP_LISTS (MIGRATE_PCPTYPES * (PAGE_ALLOC_COSTLY_ORDER + 1))
#define NR_LOWORDER_PCP_LISTS (MIGRATE_PCPTYPES * NR_PCP_ORDERS)
#define NR_PCP_LISTS (NR_LOWORDER_PCP_LISTS + NR_PCP_THP)

#define min_wmark_pages(z) (z->_watermark[WMARK_MIN] + z->watermark_boost)
+3 −3
Original line number Diff line number Diff line
@@ -529,7 +529,7 @@ static inline unsigned int order_to_pindex(int migratetype, int order)
{
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
	if (order > PAGE_ALLOC_COSTLY_ORDER) {
		VM_BUG_ON(order != pageblock_order);
		VM_BUG_ON(order != HPAGE_PMD_ORDER);
		return NR_LOWORDER_PCP_LISTS;
	}
#else
@@ -545,7 +545,7 @@ static inline int pindex_to_order(unsigned int pindex)

#ifdef CONFIG_TRANSPARENT_HUGEPAGE
	if (pindex == NR_LOWORDER_PCP_LISTS)
		order = pageblock_order;
		order = HPAGE_PMD_ORDER;
#else
	VM_BUG_ON(order > PAGE_ALLOC_COSTLY_ORDER);
#endif
@@ -558,7 +558,7 @@ static inline bool pcp_allowed_order(unsigned int order)
	if (order <= PAGE_ALLOC_COSTLY_ORDER)
		return true;
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
	if (order == pageblock_order)
	if (order == HPAGE_PMD_ORDER)
		return true;
#endif
	return false;