[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-mips
Subject:    Re: [PATCH] MIPS: tlbex: fix a missing statement for HUGETLB
From:       Aurelien Jarno <aurelien () aurel32 ! net>
Date:       2014-07-30 16:37:18
Message-ID: 20140730163718.GA4848 () ohm ! rr44 ! fr
[Download RAW message or body]

On Tue, Jul 29, 2014 at 02:54:40PM +0800, Huacai Chen wrote:
> In commit 2c8c53e28f1 (MIPS: Optimize TLB handlers for Octeon CPUs)
> build_r4000_tlb_refill_handler() is modified. But it doesn't compatible
> with the original code in HUGETLB case. Because there is a copy & paste
> error and one line of code is missing. It is very easy to produce a bug
> with LTP's hugemmap05 test.
> 
> Signed-off-by: Huacai Chen <chenhc@lemote.com>
> Signed-off-by: Binbin Zhou <zhoubb@lemote.com>
> Cc: <stable@vger.kernel.org>
> ---
>  arch/mips/mm/tlbex.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
> index e80e10b..343fe0f 100644
> --- a/arch/mips/mm/tlbex.c
> +++ b/arch/mips/mm/tlbex.c
> @@ -1299,6 +1299,7 @@ static void build_r4000_tlb_refill_handler(void)
>  	}
>  #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
>  	uasm_l_tlb_huge_update(&l, p);
> +	UASM_i_LW(&p, K0, 0, K1);
>  	build_huge_update_entries(&p, htlb_info.huge_pte, K1);
>  	build_huge_tlb_write_entry(&p, &l, &r, K0, tlb_random,
>  				   htlb_info.restore_scratch);

Thanks for this patch. It also fixes TRANSPARENT_HUGEPAGE=y, which we
had to disable on Loongson 3 as it was causing kernel crashes. This
option is quite interesting for most MIPS systems, which are using
a software driven TLB.

Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic