Re: [PATCH 3/8] MIPS: R6: Fix PREF instruction usage by memcpy for MIPS R6

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

 



Hi Aleksandar,

Wouldn't the more correct thing be to modify the memcpy loop such that prefetches do not fetch the larger offset? Just turning off prefetch altogether in memcpy for r6 seems like a heavy hammer to me...

Thanks,

Matt


On 19/06/17 16:50, Aleksandar Markovic wrote:
From: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx>

Disable usage of PREF instruction usage by memcpy for MIPS R6.

MIPS R6 redefines PREF instruction with smaller offset than
ordinary MIPS. However, the memcpy code uses PREF instruction
with offsets bigger than +-256 bytes.

Malta kernels already disable usage of PREF for memcpy.

This was found during adaptation of MIPS R6 for virtual board
used by Android emulator.

Signed-off-by: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx>
Signed-off-by: Miodrag Dinic <miodrag.dinic@xxxxxxxxxx>
Signed-off-by: Goran Ferenc <goran.ferenc@xxxxxxxxxx>
Signed-off-by: Aleksandar Markovic <aleksandar.markovic@xxxxxxxxxxx>
---
  arch/mips/lib/memcpy.S | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/arch/mips/lib/memcpy.S b/arch/mips/lib/memcpy.S
index 3114a2e..03e3304 100644
--- a/arch/mips/lib/memcpy.S
+++ b/arch/mips/lib/memcpy.S
@@ -28,6 +28,9 @@
  #ifdef CONFIG_MIPS_MALTA
  #undef CONFIG_CPU_HAS_PREFETCH
  #endif
+#ifdef CONFIG_CPU_MIPSR6
+#undef CONFIG_CPU_HAS_PREFETCH
+#endif
#include <asm/asm.h>
  #include <asm/asm-offsets.h>





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

  Powered by Linux