On Wed, Aug 16, 2023 at 04:30:45PM +0500, Muhammad Usama Anjum wrote:
The PAGEMAP_SCAN IOCTL on the pagemap file can be used to get or optionally clear the info about page table entries.
[...]
--- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c
[...]
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE +static unsigned long pagemap_thp_category(pmd_t pmd) +{
- unsigned long categories = PAGE_IS_HUGE;
- /*
* THPs don't support file-backed memory. So PAGE_IS_FILE
* is not checked here.
*/
It seems that we can have THP for files: ref. recent LKML thread [1].
[1] https://lkml.org/lkml/2023/8/16/1212
- if (pmd_present(pmd)) {
categories |= PAGE_IS_PRESENT;
if (!pmd_uffd_wp(pmd))
categories |= PAGE_IS_WRITTEN;
if (is_zero_pfn(pmd_pfn(pmd)))
categories |= PAGE_IS_PFNZERO;
- } else if (is_swap_pmd(pmd)) {
categories |= PAGE_IS_SWAPPED;
if (!pmd_swp_uffd_wp(pmd))
categories |= PAGE_IS_WRITTEN;
- }
- return categories;
+}
Best Regards Michał Mirosław