Originally posted by coder
View Post
The intercept can end up messing with cpu instruction caching and compiler optimisations to work well in cpu instruction cache . So the intercept can be more costly than doing a syscall with a context switch.
You also have multi libraries in the mix as documented on page 19. So multi jumps more code needing to be cached by the cpu.
This is one of these things IOPS can go up by avoiding kernel. But at times you IOPS will go down by avoiding kernel because you are forcing more low efficiency paths and causing the cpu cache to have issues. This is why we need a proper bench between pmemfile and nova it might turn out that pmemfile method is harmful and of no benefit.
Userspace solutions are a double sided sword particularly when you are talking about hooking into stuff. Also userspace starts losing is shine when you start talking multi thread support what pmemfile does not support.
Comment