mbox series

[v5,0/6] ptdump: add intermediate directory support

Message ID 2bcb3htsjhepxdybpw2bwot2jnuezl3p5mnj5rhjwgitlsufe7@xzhkyntridw3 (mailing list archive)
Headers show
Series ptdump: add intermediate directory support | expand

Message

Maxwell Bland June 24, 2024, 10:07 p.m. UTC
Makes several improvements to (arm64) ptdump debugging, including:

- support note_page on intermediate table entries
- (arm64) print intermediate entries and add an array for their specific
  attributes
- (arm64) bitfield definitions and printing for hierarchical access
  control bits
- (arm64) adjust the entry ranges to remove the implicit exclusive upper
  bound
- (arm64) indent page table by level while maintaining attribute
  alignment
- (arm64) improve documentation clarity, detail, and precision

Thank you again to the maintainers for their review of this patch.

A comparison of the differences in output is provided here:
github.com/maxwell-bland/linux-patch-data/tree/main/ptdump-non-leaf

New in v5:
- Clean up and fix ptdump.c calls to reference right directory level
- Change "pxd" bit specifier for non-leaf directories to tbl_bits,
  introduce a proper delineation between blk_bits and tbl_bits,
  where table entries will no longer print attributes that are
  specific to blocks
- Because we now support printing details on table descriptors, add
  encodings for the ARMv8 APTable bits
- Make attributes uniformly capitalized, make their explanations more
  precise
- Fix typos

v4:
https://lore.kernel.org/all/aw675dhrbplkitj3szjut2vyidsxokogkjj3vi76wl2x4wybtg@5rhk5ca5zpmv/
- Inclusive upper bounds on range specifications
- Splits commit into multiple smaller commits and separates cosmetic,
  documentation, and logic changes
- Updates documentation more sensibly
- Fixes bug in size computation and handles ULONG_MAX bound overflow

v3:
https://lore.kernel.org/all/fik5ys53dbkpkl22o4s7sw7cxi6dqjcpm2f3kno5tyms73jm5y@buo4jsktsnrt/
- Added tabulation to delineate entries
- Fixed formatting issues with mailer and rebased to mm/linus

v2:
https://lore.kernel.org/r/20240423142307.495726312-1-mbland@motorola.com
- Rebased onto linux-next/akpm (the incorrect branch)

v1:
https://lore.kernel.org/all/20240423121820.874441838-1-mbland@motorola.com/

Maxwell Bland (6):
  mm: add ARCH_SUPPORTS_NON_LEAF_PTDUMP
  arm64: add APTable encoding to pagetable defs
  arm64: table descriptor ptdump support
  arm64: indent ptdump by level, aligning attributes
  arm64: exclusive upper bound for ptdump entries
  arm64: add attrs and format to ptdump document

 Documentation/arch/arm64/ptdump.rst    | 131 ++++++++++-----------
 arch/arm64/Kconfig                     |   1 +
 arch/arm64/include/asm/pgtable-hwdef.h |   6 +
 arch/arm64/mm/ptdump.c                 | 150 +++++++++++++++++++------
 mm/Kconfig.debug                       |   8 ++
 mm/ptdump.c                            |  26 +++--
 6 files changed, 214 insertions(+), 108 deletions(-)