I just read the man page of vdso, it says gettimeofday is not a real system call and just read the shared memory exports by kernel.
It shouldn't be used to measure the user-kernel context switch overhead caused by NO_HZ_FULL.
From what the tests does, I think scheduling jitter should be more suitable for measuring the overhead.
It measures the time of doing a fixed amount of work multiple times, if there is no additional context-switch overhead, the result should be similar under the same workloads when NO_HZ_FULL is built-in,
and I didn't generate any workload on the test machine
Thanks Jay for pointing this out!
I just read the man page of vdso, it says gettimeofday is not a real system call and just read the shared memory exports by kernel.
It shouldn't be used to measure the user-kernel context switch overhead caused by NO_HZ_FULL.
From what the tests does, I think scheduling jitter should be more suitable for measuring the overhead.
It measures the time of doing a fixed amount of work multiple times, if there is no additional context-switch overhead, the result should be similar under the same workloads when NO_HZ_FULL is built-in,
and I didn't generate any workload on the test machine