sysutils/kvmclock-kmod: new port - call for testing

Improved performance on KVM paravirtualised systems. Testing
welcomed; please report successes and issues to:

https://reviews.freebsd.org/D29733

kvmclock-kmod is experimental and currently under development. This port
provides an easy and quick method for users to test this code for early
testing, feedback and bug reports.

This driver enables FreeBSD to use a more efficient paravirtualized
hardware clock, instead of emulating one, or abusing hypervisor
interrupts, when running as a virtualized OS under Linux KVM
(Kernel-based Virtual Machine).

Reviewed by:	allanjude
Sponsored by:	Klara Inc.
Sponsored by:	SkunkWerks, GmbH
Differential Revision:	https://reviews.freebsd.org/D30459
PR:			216759
This commit is contained in:
Dave Cottlehuber
2021-05-30 13:35:19 +00:00
parent 68fa173526
commit 563d5929d5
5 changed files with 64 additions and 0 deletions
+1
View File
@@ -581,6 +581,7 @@
SUBDIR += kshutdown
SUBDIR += ksystemlog
SUBDIR += kubectl
SUBDIR += kvmclock-kmod
SUBDIR += lava
SUBDIR += lbl-cf
SUBDIR += lbl-hf
+25
View File
@@ -0,0 +1,25 @@
PORTNAME= kvmclock
DISTVERSION= 0.0.0-a2
CATEGORIES= sysutils
PKGNAMESUFFIX= -kmod
MAINTAINER= dch@FreeBSD.org
COMMENT= Paravirtualized Linux KVM clock support
LICENSE= BSD2CLAUSE
ONLY_FOR_ARCHS= amd64 i386
ONLY_FOR_ARCHS_REASON= not yet tested for non-x86
USES= kmod uidfix
KMOD= kvmclock
USE_GITHUB= yes
GH_ACCOUNT= klarasystems
PLIST_FILES= ${KMODDIR}/kvmclock.ko
OPTIONS_DEFINE= DEBUG
OPTIONS_SUB= yes
.include <bsd.port.mk>
+3
View File
@@ -0,0 +1,3 @@
TIMESTAMP = 1621967719
SHA256 (klarasystems-kvmclock-0.0.0-a2_GH0.tar.gz) = 1497f3eca5bc1f1d9708aa601f5fdbdea08852e16b6c9c1d55bc6d0262baf708
SIZE (klarasystems-kvmclock-0.0.0-a2_GH0.tar.gz) = 7676
+11
View File
@@ -0,0 +1,11 @@
Development version of kvmclock FreeBSD driver for virtual machines.
References and prior art:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/chap-kvm_guest_timing_management
https://www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf
http://oliveryang.net/2015/09/pitfalls-of-TSC-usage/#33-tsc-emulation-on-different-hypervisors
https://reviews.freebsd.org/D29531
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216759
WWW: https://reviews.freebsd.org/D29733
+24
View File
@@ -0,0 +1,24 @@
[
{ type: install
message: <<EOM
kvmclock-kmod is experimental and currently under development. This port
provides an easy and quick method for users to test this code for early
testing, feedback and bug reports.
This driver enables FreeBSD to use a more efficient paravirtualized
hardware clock, instead of emulating one, or abusing hypervisor
interrupts, when running as a virtualized OS under Linux KVM
(Kernel-based Virtual Machine).
Usage:
# kldload kvmclock
# sysctl kern.timecounter
kern.timecounter.choice: kvmclock(975) i8254(0) ...
kern.timecounter.hardware: kvmclock
...
Please report successes and issues to: https://reviews.freebsd.org/D29733
EOM
}
]