From 563d5929d5f28631999a32d2aab4e72e1bf2c323 Mon Sep 17 00:00:00 2001 From: Dave Cottlehuber Date: Sun, 30 May 2021 13:35:19 +0000 Subject: [PATCH] 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 --- sysutils/Makefile | 1 + sysutils/kvmclock-kmod/Makefile | 25 +++++++++++++++++++++++++ sysutils/kvmclock-kmod/distinfo | 3 +++ sysutils/kvmclock-kmod/pkg-descr | 11 +++++++++++ sysutils/kvmclock-kmod/pkg-message | 24 ++++++++++++++++++++++++ 5 files changed, 64 insertions(+) create mode 100644 sysutils/kvmclock-kmod/Makefile create mode 100644 sysutils/kvmclock-kmod/distinfo create mode 100644 sysutils/kvmclock-kmod/pkg-descr create mode 100644 sysutils/kvmclock-kmod/pkg-message diff --git a/sysutils/Makefile b/sysutils/Makefile index dda66170e644..98481ed67421 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -581,6 +581,7 @@ SUBDIR += kshutdown SUBDIR += ksystemlog SUBDIR += kubectl + SUBDIR += kvmclock-kmod SUBDIR += lava SUBDIR += lbl-cf SUBDIR += lbl-hf diff --git a/sysutils/kvmclock-kmod/Makefile b/sysutils/kvmclock-kmod/Makefile new file mode 100644 index 000000000000..6a1c5ec2d222 --- /dev/null +++ b/sysutils/kvmclock-kmod/Makefile @@ -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 diff --git a/sysutils/kvmclock-kmod/distinfo b/sysutils/kvmclock-kmod/distinfo new file mode 100644 index 000000000000..7e6f54fc3840 --- /dev/null +++ b/sysutils/kvmclock-kmod/distinfo @@ -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 diff --git a/sysutils/kvmclock-kmod/pkg-descr b/sysutils/kvmclock-kmod/pkg-descr new file mode 100644 index 000000000000..7eca429ebc59 --- /dev/null +++ b/sysutils/kvmclock-kmod/pkg-descr @@ -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 diff --git a/sysutils/kvmclock-kmod/pkg-message b/sysutils/kvmclock-kmod/pkg-message new file mode 100644 index 000000000000..d410eecdba03 --- /dev/null +++ b/sysutils/kvmclock-kmod/pkg-message @@ -0,0 +1,24 @@ +[ +{ type: install + message: <