Re: [PATCH] Fix build_store_reg()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 18 Dec 2006 00:38:21 +0900 (JST), Atsushi Nemoto <anemo@xxxxxxxxxxxxx> wrote:
> The commit a923660d786a53e78834b19062f7af2535f7f8ad accidently
> prevents TX49 from using CDEX.  Use build_dst_pref() only if prefetch
> for store was really available.
> 
> Signed-off-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx>
> ---
> diff --git a/arch/mips/mm/pg-r4k.c b/arch/mips/mm/pg-r4k.c
> index d41fc58..dc795be 100644
> --- a/arch/mips/mm/pg-r4k.c
> +++ b/arch/mips/mm/pg-r4k.c
> @@ -243,11 +243,10 @@ static void __init __build_store_reg(int
>  
>  static inline void build_store_reg(int reg)
>  {
> -	if (cpu_has_prefetch)
> -		if (reg)
> -			build_dst_pref(pref_offset_copy);
> -		else
> -			build_dst_pref(pref_offset_clear);
> +	int pref_off = cpu_has_prefetch ?
> +		(reg ? pref_offset_copy : pref_offset_clear) : 0;
> +	if (pref_off)
> +		build_dst_pref(pref_off);
>  	else if (cpu_has_cache_cdex_s)
>  		build_cdex_s();
>  	else if (cpu_has_cache_cdex_p)

BTW, why prefetch is preferred than cache_cdex?  I feel cdex is better
while it avoids unnecessary load...

---
Atsushi Nemoto


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux