mm: drop the 'anon_' prefix for swap-out mTHP counters
The mTHP swap related counters: 'anon_swpout' and 'anon_swpout_fallback' are confusing with an 'anon_' prefix, since the shmem can swap out non-anonymous pages. So drop the 'anon_' prefix to keep consistent with the old swap counter names. This is needed in 6.10-rcX to avoid having an inconsistent ABI out in the field. Link: https://lkml.kernel.org/r/7a8989c13299920d7589007a30065c3e2c19f0e0.1716431702.git.baolin.wang@linux.alibaba.com Fixes:d0f048ac39
("mm: add per-order mTHP anon_swpout and anon_swpout_fallback counters") Fixes:42248b9d34
("mm: add docs for per-order mTHP counters and transhuge_page ABI") Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com> Suggested-by: "Huang, Ying" <ying.huang@intel.com> Acked-by: Barry Song <baohua@kernel.org> Cc: David Hildenbrand <david@redhat.com> Cc: Lance Yang <ioworker0@gmail.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
1613e604df
commit
0d648dd5c8
5 changed files with 10 additions and 10 deletions
|
@ -467,11 +467,11 @@ anon_fault_fallback_charge
|
||||||
instead falls back to using huge pages with lower orders or
|
instead falls back to using huge pages with lower orders or
|
||||||
small pages even though the allocation was successful.
|
small pages even though the allocation was successful.
|
||||||
|
|
||||||
anon_swpout
|
swpout
|
||||||
is incremented every time a huge page is swapped out in one
|
is incremented every time a huge page is swapped out in one
|
||||||
piece without splitting.
|
piece without splitting.
|
||||||
|
|
||||||
anon_swpout_fallback
|
swpout_fallback
|
||||||
is incremented if a huge page has to be split before swapout.
|
is incremented if a huge page has to be split before swapout.
|
||||||
Usually because failed to allocate some continuous swap space
|
Usually because failed to allocate some continuous swap space
|
||||||
for the huge page.
|
for the huge page.
|
||||||
|
|
|
@ -269,8 +269,8 @@ enum mthp_stat_item {
|
||||||
MTHP_STAT_ANON_FAULT_ALLOC,
|
MTHP_STAT_ANON_FAULT_ALLOC,
|
||||||
MTHP_STAT_ANON_FAULT_FALLBACK,
|
MTHP_STAT_ANON_FAULT_FALLBACK,
|
||||||
MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE,
|
MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE,
|
||||||
MTHP_STAT_ANON_SWPOUT,
|
MTHP_STAT_SWPOUT,
|
||||||
MTHP_STAT_ANON_SWPOUT_FALLBACK,
|
MTHP_STAT_SWPOUT_FALLBACK,
|
||||||
__MTHP_STAT_COUNT
|
__MTHP_STAT_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -558,15 +558,15 @@ static struct kobj_attribute _name##_attr = __ATTR_RO(_name)
|
||||||
DEFINE_MTHP_STAT_ATTR(anon_fault_alloc, MTHP_STAT_ANON_FAULT_ALLOC);
|
DEFINE_MTHP_STAT_ATTR(anon_fault_alloc, MTHP_STAT_ANON_FAULT_ALLOC);
|
||||||
DEFINE_MTHP_STAT_ATTR(anon_fault_fallback, MTHP_STAT_ANON_FAULT_FALLBACK);
|
DEFINE_MTHP_STAT_ATTR(anon_fault_fallback, MTHP_STAT_ANON_FAULT_FALLBACK);
|
||||||
DEFINE_MTHP_STAT_ATTR(anon_fault_fallback_charge, MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE);
|
DEFINE_MTHP_STAT_ATTR(anon_fault_fallback_charge, MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE);
|
||||||
DEFINE_MTHP_STAT_ATTR(anon_swpout, MTHP_STAT_ANON_SWPOUT);
|
DEFINE_MTHP_STAT_ATTR(swpout, MTHP_STAT_SWPOUT);
|
||||||
DEFINE_MTHP_STAT_ATTR(anon_swpout_fallback, MTHP_STAT_ANON_SWPOUT_FALLBACK);
|
DEFINE_MTHP_STAT_ATTR(swpout_fallback, MTHP_STAT_SWPOUT_FALLBACK);
|
||||||
|
|
||||||
static struct attribute *stats_attrs[] = {
|
static struct attribute *stats_attrs[] = {
|
||||||
&anon_fault_alloc_attr.attr,
|
&anon_fault_alloc_attr.attr,
|
||||||
&anon_fault_fallback_attr.attr,
|
&anon_fault_fallback_attr.attr,
|
||||||
&anon_fault_fallback_charge_attr.attr,
|
&anon_fault_fallback_charge_attr.attr,
|
||||||
&anon_swpout_attr.attr,
|
&swpout_attr.attr,
|
||||||
&anon_swpout_fallback_attr.attr,
|
&swpout_fallback_attr.attr,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -217,7 +217,7 @@ static inline void count_swpout_vm_event(struct folio *folio)
|
||||||
count_memcg_folio_events(folio, THP_SWPOUT, 1);
|
count_memcg_folio_events(folio, THP_SWPOUT, 1);
|
||||||
count_vm_event(THP_SWPOUT);
|
count_vm_event(THP_SWPOUT);
|
||||||
}
|
}
|
||||||
count_mthp_stat(folio_order(folio), MTHP_STAT_ANON_SWPOUT);
|
count_mthp_stat(folio_order(folio), MTHP_STAT_SWPOUT);
|
||||||
#endif
|
#endif
|
||||||
count_vm_events(PSWPOUT, folio_nr_pages(folio));
|
count_vm_events(PSWPOUT, folio_nr_pages(folio));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1227,7 +1227,7 @@ static unsigned int shrink_folio_list(struct list_head *folio_list,
|
||||||
THP_SWPOUT_FALLBACK, 1);
|
THP_SWPOUT_FALLBACK, 1);
|
||||||
count_vm_event(THP_SWPOUT_FALLBACK);
|
count_vm_event(THP_SWPOUT_FALLBACK);
|
||||||
}
|
}
|
||||||
count_mthp_stat(order, MTHP_STAT_ANON_SWPOUT_FALLBACK);
|
count_mthp_stat(order, MTHP_STAT_SWPOUT_FALLBACK);
|
||||||
#endif
|
#endif
|
||||||
if (!add_to_swap(folio))
|
if (!add_to_swap(folio))
|
||||||
goto activate_locked_split;
|
goto activate_locked_split;
|
||||||
|
|
Loading…
Reference in a new issue