On Mon, 18 Dec 2006 00:38:21 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp>
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@mba.ocn.ne.jp>
> ---
> 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
|