The patch titled Subject: x86: mm: don't display pages which aren't present in debugfs has been added to the -mm tree. Its filename is x86-mm-dont-display-pages-which-arent-present-in-debugfs.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/x86-mm-dont-display-pages-which-arent-present-in-debugfs.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/x86-mm-dont-display-pages-which-arent-present-in-debugfs.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Steven Price <steven.price@xxxxxxx> Subject: x86: mm: don't display pages which aren't present in debugfs For the /sys/kernel/debug/page_tables/ files, rather than outputing a mostly empty line when a block of memory isn't present just skip the line. This keeps the output shorter and will help with a future change switching to using the generic page walk code as we no longer care about the 'level' that the page table holes are at. Link: http://lkml.kernel.org/r/20190722154210.42799-15-steven.price@xxxxxxx Signed-off-by: Steven Price <steven.price@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/x86/mm/dump_pagetables.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- a/arch/x86/mm/dump_pagetables.c~x86-mm-dont-display-pages-which-arent-present-in-debugfs +++ a/arch/x86/mm/dump_pagetables.c @@ -301,8 +301,8 @@ static void note_page(struct seq_file *m /* * Now print the actual finished series */ - if (!st->marker->max_lines || - st->lines < st->marker->max_lines) { + if ((cur & _PAGE_PRESENT) && (!st->marker->max_lines || + st->lines < st->marker->max_lines)) { pt_dump_seq_printf(m, st->to_dmesg, "0x%0*lx-0x%0*lx ", width, st->start_address, @@ -318,7 +318,8 @@ static void note_page(struct seq_file *m printk_prot(m, st->current_prot, st->level, st->to_dmesg); } - st->lines++; + if (cur & _PAGE_PRESENT) + st->lines++; /* * We print markers for special areas of address space, _ Patches currently in -mm which might be from steven.price@xxxxxxx are arc-mm-add-pd_leaf-definitions.patch arm-mm-add-pd_leaf-definitions.patch arm64-mm-add-pd_leaf-definitions.patch mips-mm-add-pd_leaf-definitions.patch powerpc-mm-add-pd_leaf-definitions.patch riscv-mm-add-pd_leaf-definitions.patch s390-mm-add-pd_leaf-definitions.patch sparc-mm-add-pd_leaf-definitions.patch x86-mm-add-pd_leaf-definitions.patch mm-add-generic-pd_leaf-macros.patch mm-pagewalk-add-p4d_entry-and-pgd_entry.patch mm-pagewalk-allow-walking-without-vma.patch mm-pagewalk-add-test_pd-callbacks.patch x86-mm-dont-display-pages-which-arent-present-in-debugfs.patch x86-mm-point-to-struct-seq_file-from-struct-pg_state.patch x86-mmefi-convert-ptdump_walk_pgd_level-to-take-a-mm_struct.patch x86-mm-convert-ptdump_walk_pgd_level_debugfs-to-take-an-mm_struct.patch x86-mm-convert-ptdump_walk_pgd_level_core-to-take-an-mm_struct.patch mm-add-generic-ptdump.patch x86-mm-convert-dump_pagetables-to-use-walk_page_range.patch arm64-mm-convert-mm-dumpc-to-use-walk_page_range.patch