blob: 7d98a1b69e63c8b9c4f2c0731cf41d45136acf60 [file] [log] [blame]
From: Lance Yang <ioworker0@gmail.com>
Subject: mm-add-per-order-mthp-split-counters-v3
Date: Thu, 4 Jul 2024 09:29:04 +0800
make things more readable, per Barry and Baolin
Link: https://lkml.kernel.org/r/20240704012905.42971-2-ioworker0@gmail.com
Reviewed-by: Ryan Roberts <ryan.roberts@arm.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Acked-by: Barry Song <baohua@kernel.org>
Signed-off-by: Mingzhe Yang <mingzhe.yang@ly.com>
Signed-off-by: Lance Yang <ioworker0@gmail.com>
Cc: Bang Li <libang.li@antgroup.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Yang Shi <shy828301@gmail.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/huge_memory.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
--- a/mm/huge_memory.c~mm-add-per-order-mthp-split-counters-v3
+++ a/mm/huge_memory.c
@@ -3083,7 +3083,7 @@ int split_huge_page_to_list_to_order(str
VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio);
VM_BUG_ON_FOLIO(!folio_test_large(folio), folio);
- if (new_order >= order)
+ if (new_order >= folio_order(folio))
return -EINVAL;
if (folio_test_anon(folio)) {
@@ -3286,14 +3286,13 @@ void deferred_split_folio(struct folio *
#ifdef CONFIG_MEMCG
struct mem_cgroup *memcg = folio_memcg(folio);
#endif
- int order = folio_order(folio);
unsigned long flags;
/*
* Order 1 folios have no space for a deferred list, but we also
* won't waste much memory by not adding them to the deferred list.
*/
- if (order <= 1)
+ if (folio_order(folio) <= 1)
return;
/*
@@ -3314,9 +3313,9 @@ void deferred_split_folio(struct folio *
spin_lock_irqsave(&ds_queue->split_queue_lock, flags);
if (list_empty(&folio->_deferred_list)) {
- if (order >= HPAGE_PMD_ORDER)
+ if (folio_test_pmd_mappable(folio))
count_vm_event(THP_DEFERRED_SPLIT_PAGE);
- count_mthp_stat(order, MTHP_STAT_SPLIT_DEFERRED);
+ count_mthp_stat(folio_order(folio), MTHP_STAT_SPLIT_DEFERRED);
list_add_tail(&folio->_deferred_list, &ds_queue->split_queue);
ds_queue->split_queue_len++;
#ifdef CONFIG_MEMCG
_