[PATCH 02/13] powerpc: hugetlb: fix huge_ptep_set_access_flags return value
Benjamin Herrenschmidt
benh at kernel.crashing.org
Tue Nov 29 14:58:22 EST 2011
On Mon, 2011-10-10 at 15:50 -0500, Becky Bruce wrote:
> diff --git a/arch/powerpc/include/asm/hugetlb.h b/arch/powerpc/include/asm/hugetlb.h
> index 8600493..70f9885 100644
> --- a/arch/powerpc/include/asm/hugetlb.h
> +++ b/arch/powerpc/include/asm/hugetlb.h
> @@ -124,7 +124,18 @@ static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma,
> unsigned long addr, pte_t *ptep,
> pte_t pte, int dirty)
> {
> +#if defined(CONFIG_PPC_MMU_NOHASH) && \
> + !(defined(CONFIG_PPC_FSL_BOOK3E) && defined(CONFIG_PPC32))
The above conditional makes my brain hurt. Can you change that to
instead
#ifdef HUGETLB_NEED_PRELOAD
... or something like that, which you then #define in the right
mmu-xxxx.h header ?
Cheers,
Ben.
> + /*
> + * The "return 1" forces a call of update_mmu_cache, which will write a
> + * TLB entry. Without this, platforms that don't do a write of the TLB
> + * entry in the TLB miss handler asm will fault ad infinitum.
> + */
> + ptep_set_access_flags(vma, addr, ptep, pte, dirty);
> + return 1;
> +#else
> return ptep_set_access_flags(vma, addr, ptep, pte, dirty);
> +#endif
> }
>
> static inline pte_t huge_ptep_get(pte_t *ptep)
More information about the Linuxppc-dev
mailing list