Thread (4 messages) 4 messages, 4 authors, 2015-09-08

Re: [PATCH] powerpc32: memcpy: only use dcbz once cache is enabled

flat view

From: Michal Sojka <hidden>
Date: 2015-09-07 14:56:20
Also in: lkml

On Mon, Sep 07 2015, Christophe Leroy wrote:
memcpy() uses instruction dcbz to speed up copy by not wasting time
loading cache line with data that will be overwritten.
Some platform like mpc52xx do no have cache active at startup and
can therefore not use memcpy(). Allthough no part of the code
explicitly uses memcpy(), GCC makes calls to it.

This patch modifies memcpy() such that at startup, the 'dcbz'
instruction is replaced by 'dcbt' which is harmless if cache is not
enabled, and which helps a bit (allthough not as much as dcbz) if
cache is already enabled.

Once the initial MMU is setup, in machine_init() we patch memcpy()
by replacing the temporary 'dcbt' by 'dcbz'

Reported-by: Michal Sojka <redacted>
Signed-off-by: Christophe Leroy <redacted>
---
@Michal, can you please test it ?
Yes, it works.

Tested-by: Michal Sojka <redacted>

-Michal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help