Hasty Briefsbeta

Bilingual

On Linux Vdso and Clockgettime - Bert Hubert's writings

a day ago
  • vDSO allows frequently used system calls to run in userspace, avoiding kernel entry overhead.
  • Time-related calls like gettimeofday and clock_gettime are often vDSO-accelerated.
  • Despite vDSO being present, clock_gettime can still generate actual system calls for unsupported clock types.
  • vDSO's clock_gettime only supports CLOCK_REALTIME, CLOCK_MONOTONIC, and their COARSE variants (as of Linux 3.13 to 4.11).
  • CLOCK_MONOTONIC_RAW gained vDSO support in Linux 5.3; earlier versions fell back to a full syscall.
  • The author discovered this issue while benchmarking dnsdist, causing millions of extra system calls.
  • The blog post aims to help others quickly identify and resolve similar vDSO-related performance problems.