mm: shmem: add THP validation for PMD-mapped THP related statistics
In order to extend support for mTHP, add THP validation for PMD-mapped THP related statistics to avoid statistical confusion. Link: https://lkml.kernel.org/r/c4b04cbd51e6951cc2436a87be8eaa4a1516faec.1718090413.git.baolin.wang@linux.alibaba.com Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com> Reviewed-by: Barry Song <v-songbaohua@oppo.com> Cc: Daniel Gomez <da.gomez@samsung.com> Cc: David Hildenbrand <david@redhat.com> Cc: "Huang, Ying" <ying.huang@intel.com> Cc: Hugh Dickins <hughd@google.com> Cc: Kefeng Wang <wangkefeng.wang@huawei.com> Cc: Lance Yang <ioworker0@gmail.com> Cc: Pankaj Raghav <p.raghav@samsung.com> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Yang Shi <shy828301@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
43e027e414
commit
3d95bc21ce
@ -1647,7 +1647,7 @@ static struct folio *shmem_alloc_and_add_folio(gfp_t gfp,
|
||||
return ERR_PTR(-E2BIG);
|
||||
|
||||
folio = shmem_alloc_folio(gfp, HPAGE_PMD_ORDER, info, index);
|
||||
if (!folio)
|
||||
if (!folio && pages == HPAGE_PMD_NR)
|
||||
count_vm_event(THP_FILE_FALLBACK);
|
||||
} else {
|
||||
pages = 1;
|
||||
@ -1665,7 +1665,7 @@ static struct folio *shmem_alloc_and_add_folio(gfp_t gfp,
|
||||
if (xa_find(&mapping->i_pages, &index,
|
||||
index + pages - 1, XA_PRESENT)) {
|
||||
error = -EEXIST;
|
||||
} else if (huge) {
|
||||
} else if (pages == HPAGE_PMD_NR) {
|
||||
count_vm_event(THP_FILE_FALLBACK);
|
||||
count_vm_event(THP_FILE_FALLBACK_CHARGE);
|
||||
}
|
||||
@ -2031,7 +2031,8 @@ repeat:
|
||||
folio = shmem_alloc_and_add_folio(huge_gfp,
|
||||
inode, index, fault_mm, true);
|
||||
if (!IS_ERR(folio)) {
|
||||
count_vm_event(THP_FILE_ALLOC);
|
||||
if (folio_test_pmd_mappable(folio))
|
||||
count_vm_event(THP_FILE_ALLOC);
|
||||
goto alloced;
|
||||
}
|
||||
if (PTR_ERR(folio) == -EEXIST)
|
||||
|
Loading…
x
Reference in New Issue
Block a user