On 10/16/2017 10:43 AM, Balbir Singh wrote:
On Mon, Oct 16, 2017 at 2:34 PM, Aneesh Kumar K.V
<aneesh.ku...@linux.vnet.ibm.com> wrote:
Michael Ellerman <m...@ellerman.id.au> writes:

+
+#ifdef CONFIG_HUGETLB_PAGE
+     if (pud_huge(*pudp)) {
+             format_pte(pudp, pud_val(*pudp));
+             return;
+     }
+#endif

For page table walking code we don't need to put #ifdef here.

OK.. I designed this for both, I'll take the #ifdef out for kernel page tables.

  Also how
should we handle address that we map at pmd level even if hugetlb page
is disabled ? (kernel linear mapping). Also where do we handle THP
mapping ? You may want to look at __find_linux_pte() to write a page
table walking code. or better use the helper.

I wanted to avoid using __find_linux_pte in xmon(), it needs irq's disabled.
I found the interface a bit cumbersome. If I fix the #ifdef's and make the
walking code 64 bit only I think we should be OK? Do you agree?


__find_linux_pte doesn't require irq disabled. But i would suggest we add a comment there explaining why it is safe to use without being worried about irqs/THP split (ex: find_init_mm_pte()). Being in xmon we are safe there. We moved all the warning about irq disabled etc to higher level functions.

-aneesh

Reply via email to