hugetlbfs for ppc440 - kernel BUG -- follow up
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Jul 18 13:01:26 EST 2007
On Tue, 2007-07-17 at 21:18 -0500, Satya wrote:
> the calling sequence is :
>
> __handle_mm_fault -> hugetlb_fault -> huge_pte_alloc() ->
> pte_alloc_map()
>
> where -> stands for 'calls'.
>
> hugetlb_fault() calls hugetlb_no_page() after returning from
> huge_pte_alloc().
>
> [huge_pte_alloc() is an arch specific call back implemented in the
> patch referred to in my earlier posts]
Ok, so I think the problem might be there. If you look at other
implementations of hugetlbfs, such as x86, there is no need to do any
mapping in huge_pte_alloc(). Only the PTE pages can be mapped/unmapped
and the huge pages are stored at the PMD level. You may want to do
something similar, and if you need a PTE level for huge pages
specifically, then you could do your own allocations there that don't
require a mapping.
Ben.
More information about the Linuxppc-dev
mailing list