| 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 |
| _ |