Commit 7dd55bb8 authored by Baolin Wang's avatar Baolin Wang Committed by Liu Shixin
Browse files

mm: drop the 'anon_' prefix for swap-out mTHP counters

mainline inclusion
from mainline-v6.10-rc3
commit 0d648dd5c899f33154b98a6aef6e3dab0f4de613
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IA7H2V
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0d648dd5c899f33154b98a6aef6e3dab0f4de613

--------------------------------

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: d0f048ac39f6 ("mm: add per-order mTHP anon_swpout and anon_swpout_fallback counters")
Fixes: 42248b9d34ea ("mm: add docs for per-order mTHP counters and transhuge_page ABI")
Signed-off-by: default avatarBaolin Wang <baolin.wang@linux.alibaba.com>
Suggested-by: default avatar"Huang, Ying" <ying.huang@intel.com>
Acked-by: default avatarBarry 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLiu Shixin <liushixin2@huawei.com>
parent 19df753e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -496,11 +496,11 @@ anon_fault_fallback_charge
	instead falls back to using huge pages with lower orders or
	small pages even though the allocation was successful.

anon_swpout
swpout
	is incremented every time a huge page is swapped out in one
	piece without splitting.

anon_swpout_fallback
swpout_fallback
	is incremented if a huge page has to be split before swapout.
	Usually because failed to allocate some continuous swap space
	for the huge page.
+2 −2
Original line number Diff line number Diff line
@@ -267,8 +267,8 @@ enum mthp_stat_item {
	MTHP_STAT_ANON_FAULT_ALLOC,
	MTHP_STAT_ANON_FAULT_FALLBACK,
	MTHP_STAT_ANON_FAULT_FALLBACK_CHARGE,
	MTHP_STAT_ANON_SWPOUT,
	MTHP_STAT_ANON_SWPOUT_FALLBACK,
	MTHP_STAT_SWPOUT,
	MTHP_STAT_SWPOUT_FALLBACK,
	__MTHP_STAT_COUNT
};

+4 −4
Original line number Diff line number Diff line
@@ -701,15 +701,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_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_swpout, MTHP_STAT_ANON_SWPOUT);
DEFINE_MTHP_STAT_ATTR(anon_swpout_fallback, MTHP_STAT_ANON_SWPOUT_FALLBACK);
DEFINE_MTHP_STAT_ATTR(swpout, MTHP_STAT_SWPOUT);
DEFINE_MTHP_STAT_ATTR(swpout_fallback, MTHP_STAT_SWPOUT_FALLBACK);

static struct attribute *stats_attrs[] = {
	&anon_fault_alloc_attr.attr,
	&anon_fault_fallback_attr.attr,
	&anon_fault_fallback_charge_attr.attr,
	&anon_swpout_attr.attr,
	&anon_swpout_fallback_attr.attr,
	&swpout_attr.attr,
	&swpout_fallback_attr.attr,
	NULL,
};

+1 −1
Original line number Diff line number Diff line
@@ -212,7 +212,7 @@ static inline void count_swpout_vm_event(struct folio *folio)
		count_memcg_folio_events(folio, THP_SWPOUT, 1);
		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
	count_vm_events(PSWPOUT, folio_nr_pages(folio));
}
+1 −1
Original line number Diff line number Diff line
@@ -1925,7 +1925,7 @@ static unsigned int shrink_folio_list(struct list_head *folio_list,
							THP_SWPOUT_FALLBACK, 1);
						count_vm_event(THP_SWPOUT_FALLBACK);
					}
					count_mthp_stat(order, MTHP_STAT_ANON_SWPOUT_FALLBACK);
					count_mthp_stat(order, MTHP_STAT_SWPOUT_FALLBACK);
#endif
					if (!add_to_swap(folio))
						goto activate_locked_split;