On CentOS 7 (RHEL 7?), "errno" isn't set when vsyscall_gettimeofday fails. So, in such case, vsyscall_gettimeofday send SIGSEGV to the caller to report failure of gettimeofday operation.
This version simply calls getcpu() system call, so that it's not fast.
- getcpu() is not implemented. It will cause SIGILL. - gettimeofday() and time() are implemented with syscall.