cva6
cva6 copied to clipboard
Overhead of Linux and address translation
I have noticed a 4-5x execution time increase when executing, e.g., a memcpy operation under Linux vs in baremetal. I attribute it to the overhead of address translation, yet it seems too much. Is it reasonable? Maybe it is higher because of the low clock frequency (50 MHz) ?
I am measuring time with the built-in timers in baremetal and with the clock_gettime() fucntion under Linux, working with data sizes high enough so system calls are not a significant part of execution time.
Any insights are welcome.