On Mon, Oct 28, 2019 at 01:59:07PM +0000, Steven Price wrote: > +struct ptdump_state { > + void (*note_page)(struct ptdump_state *st, unsigned long addr, > + int level, unsigned long val); > + const struct ptdump_range *range; > +}; It would be nice to have a comment above note_page about what 'level' actually means... [...] > +static int ptdump_hole(unsigned long addr, unsigned long next, > + int depth, struct mm_walk *walk) > +{ > + struct ptdump_state *st = walk->private; > + > + st->note_page(st, addr, depth + 1, 0); ... as it took me a while to figure out why you 'depth + 1' here. But see my other reply on the arm64 patch. Is it possible to align depth and level here to have the same range? -- Catalin