On Fri, 26 May 2006, David Miller wrote: > From: Hugh Dickins <hugh@xxxxxxxxxxx> > Date: Fri, 26 May 2006 19:28:14 +0100 (BST) > > > There are two calls to update_mmu_cache in fremap.c, both defective. > > The one in install_page needs to be accompanied by lazy_mmu_prot_update > > (some other cleanup time, move that into ia64 update_mmu_cache itself); and > > the one in install_file_pte should be removed since the pte is not present. > > > > Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx> > > Where did that rule come from? We should call update_mmu_cache() even > if the PTE was not present before, look at the fault path in > mm/memory.c, it does this too. > > This is where we install hash table entries for newly installed > mappings on sparc64 and powerpc, so this update_mmu_cache() call > is important even for not-previously-present mappings. Sure it's important for not-previously-present mappings, when you're installing a present pte. But the "file pte" being installed by install_file_pte is not a real pte - it's a non-present entry (like a swap entry), noting what file offset should be mapped there when there's a fault (in a non-linear vma where that's not obvious). Hugh - : send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |