Hi
I am wondering if there is a "system friendly" way to invalidate caches? I am running self compiling instructions that needs it. Right now (on aarch64 Genode/Linux) I use __internal___clear_cache but that is unbelievable slow.
I use genode api to allocate executable ram.
Br
Michael
Hi Michael,
On 05.11.20 16:25, Michael Grunditz wrote:
I am wondering if there is a "system friendly" way to invalidate caches? I am running self compiling instructions that needs it. Right now (on aarch64 Genode/Linux) I use __internal___clear_cache but that is unbelievable slow.
I remember that we encountered the same problem recently in the context of the Javascript JIT compiler of the Chromium engine [1]. Since there exists no POSIX API for the instruction-cache invalidation, we decided to add a new public interface to the libc [2].
[1] https://github.com/genodelabs/genode/issues/3858 [2] https://github.com/genodelabs/genode/blob/master/repos/libports/include/libc...
Cheers Norman
I remember that we encountered the same problem recently in the context of the Javascript JIT compiler of the Chromium engine [1]. Since there exists no POSIX API for the instruction-cache invalidation, we decided to add a new public interface to the libc [2].
[1] https://github.com/genodelabs/genode/issues/3858 [2] https://github.com/genodelabs/genode/blob/master/repos/libports/include/libc...
Wow , thanks. My code runs 10x faster now. I have a lot of optimisations to do, but happy so far.
Michael