From owner-dev-commits-ports-main@freebsd.org Sun May 30 13:37:42 2021 Return-Path: Delivered-To: dev-commits-ports-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7451B655237; Sun, 30 May 2021 13:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4FtKHB0wpCz4lXx; Sun, 30 May 2021 13:37:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D3D9A1DD4A; Sun, 30 May 2021 13:37:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 14UDbfhN056350; Sun, 30 May 2021 13:37:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 14UDbfxG056349; Sun, 30 May 2021 13:37:41 GMT (envelope-from git) Date: Sun, 30 May 2021 13:37:41 GMT Message-Id: <202105301337.14UDbfxG056349@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dave Cottlehuber Subject: git: 563d5929d5f2 - main - sysutils/kvmclock-kmod: new port - call for testing MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 563d5929d5f28631999a32d2aab4e72e1bf2c323 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the main branch of the FreeBSD ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 May 2021 13:37:42 -0000 The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/ports/commit/?id=563d5929d5f28631999a32d2aab4e72e1bf2c323 commit 563d5929d5f28631999a32d2aab4e72e1bf2c323 Author: Dave Cottlehuber AuthorDate: 2021-05-30 13:35:19 +0000 Commit: Dave Cottlehuber CommitDate: 2021-05-30 13:35:19 +0000 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(+) 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: <