FreeBSD Manual Pages
KVMCLOCK(4) Kernel Interfaces Manual KVMCLOCK(4) NAME kvmclock -- Para-virtualized clock driver for x86 KVM guests SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: device kvm_clock DESCRIPTION This driver reads time-keeping information from the para-virtualized clock device provided by the KVM hypervisor on Linux hosts. The kvmclock driver is only implemented on i386 and amd64 platforms. It acts as a timecounters(4) device and is preferred over the Time Stamp Counter (TSC) when available. The driver exports timekeeping informa- tion via /dev/pvclock, enabling the implementation of clock_gettime(2) and related functions without entering the kernel. The kvmclock driver works by accessing a per-vCPU timekeeping structure maintained by the hypervisor. It uses a combination of TSC readings and information from the shared structure to produce a high-resolution timecounter which is invariant under hypervisor events such as vCPU mi- gration and live VM migration. SYSCTL VARIABLES The following variables are available as both sysctl(8) variables and loader(8) tunables: dev.kvmclock.0.vdso_enable_without_rdtscp By default, timekeeping information is exported to userspace only when the (virtual) CPU announces support for the "rdtscp" instruction. Setting this sysctl to 1 overrides this behavior, allowing timekeeping information to be exported even in the ab- sence of "rdtscp" support. However, this breaks compatibility with copies of /lib/libc.so.7 released prior to FreeBSD 14.0, and statically linked binaries which embed a copy of the system C library. Thus, this sysctl value should not be changed if the system may execute binaries older than FreeBSD 14.0. dev.kvmclock.0.vdso_force_unstable Mark the timecounter as unstable for userspace consumers. This is mostly useful for debugging the driver and userspace time- keeping code, and generally should not be touched. SEE ALSO timecounters(4) HISTORY The kvmclock driver first appeared in FreeBSD 13.1. FreeBSD 16.0 CURRENT February 1, 2023 KVMCLOCK(4)
NAME | SYNOPSIS | DESCRIPTION | SYSCTL VARIABLES | SEE ALSO | HISTORY
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kvmclock&sektion=4&manpath=FreeBSD+16.0-CURRENT>
