[PATCH 1/2] powerpc/xmon: support dumping software pagetables
bsingharora at gmail.com
Fri Jul 21 18:43:54 AEST 2017
On Fri, 2017-07-21 at 16:59 +1000, Michael Ellerman wrote:
> Nice !
> Balbir Singh <bsingharora at gmail.com> writes:
> > It would be nice to be able to dump page tables in a
> > particular context
> > Example use cases
> > Dumping PTE contents to see the keys (useful for debugging)
> > c0000000ba48c880 c0000000bab438b0 2677 2675 T 2 protection_keys
> What is that ^ ?
Thats extra, the output of P (print all tasks, I've used that task selection)
> > 0:mon> ds c0000000ba48c880 0x7ffff7f70000
> > translating tsk c0000000ba48c880, addr 7ffff7f70000
> > G: 0xb95b6400 U: 0xb6334000 M: 0xb6543000 PA: 0x012c0000, PTE: 0xd4800000012c0504
> Without reading the code I don't grok what G/U/M mean.
PGD, PUD and PMD, I'll expand on them.
> Feel free to use more than one line of output :)
> > Dumping vmalloc space
> > 0:mon> ds 0 d000000000000000
> I suspect we will want to do that a lot. So I'd rather the arguments
> were reversed, and the second (task) can be omitted.
I considered that as well, can do
> 0:mon> ds x == translate x via init_mm
> 0:mon> ds x y == translate x via &y->mm
> I guess it's easier for folks to find a task rather than an mm directly?
> Otherwise it could take an mm not a task.
we already have commands for task, via (P), which is why I thought
task makes sense.
> > translating tsk (null), addr d000000000000000
> We should special case that to say "using kernel page tables" or similar.
> > G: 0x3d450400 U: 0xbc184000 M: 0x3d460000 PA: 0x7e010000, PTE: 0xc08000007e01018e
> > I did not replicate the complex code of dump_pagetable and have no support
> > for bolted linear mapping, thats why I've called it software pagetable
> > dumping support.
> Not sure about that naming. On hash it makes sense, but not on radix or
> on other platforms.
> Maybe 'dv' for dump Virtual address ?
> It doesn't dump a PTE, it tries to translate an address into a PTE.
Done, will do a v2
Thanks for the review!
More information about the Linuxppc-dev