Thread (16 messages) flat view 16 messages, 4 authors, 2015-09-08

Re: memcpy regression

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-09-08 03:54:22

On Mon, 2015-09-07 at 10:59 +0000, David Laight wrote:
From: Michal Sojka
quoted
quoted
quoted
I think GCC uses memcpy() in well known situations like initialising
structures or copying structures.
Shouldn't we just avoid this kind of actions in the very few early init
functions ?
Which are the "very few" early init functions? Can you make a list, for 32-bit
and 64-bit? And can we keep it updated over time and not introduce regressions?
If the code that runs without caches is concentrated in few files, we
may either modify the buildsystem to check whether there is a call to
memcpy from these files (e.g. by using nm) or these files can be
"prelinked" with special version of memcpy that doesn't require caches.
Would any of these be acceptable?
What about run-time patching memcpy() after the caches are initialised?
Yeah, that's the solution we use on 64-bit.

It also means you can have cpu specific optimisations, which can be patched in
or out using the cpu feature patching.

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