From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 2EDCE15815E for ; Tue, 6 Feb 2024 01:50:55 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5B10EE2A79; Tue, 6 Feb 2024 01:50:54 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (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) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3CABCE2A79 for ; Tue, 6 Feb 2024 01:50:54 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (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) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 395CA343083 for ; Tue, 6 Feb 2024 01:50:53 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 79BB4358 for ; Tue, 6 Feb 2024 01:50:51 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1707184203.41c60e94beea46d932ae78fb7dd388ca6c9a3924.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/, sys-fs/zfs-kmod/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild X-VCS-Directories: sys-fs/zfs-kmod/ sys-fs/zfs-kmod/files/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 41c60e94beea46d932ae78fb7dd388ca6c9a3924 X-VCS-Branch: master Date: Tue, 6 Feb 2024 01:50:51 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 989c0092-cd7c-418b-ab92-bac90a9de3d8 X-Archives-Hash: 1d6bdd768c21c2c17a0d9887484b149c commit: 41c60e94beea46d932ae78fb7dd388ca6c9a3924 Author: Sam James gentoo org> AuthorDate: Tue Feb 6 01:50:03 2024 +0000 Commit: Sam James gentoo org> CommitDate: Tue Feb 6 01:50:03 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41c60e94 sys-fs/zfs-kmod: backport autotrim CPU fix Closes: https://bugs.gentoo.org/923745 Signed-off-by: Sam James gentoo.org> .../zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch | 31 +++ sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild | 219 +++++++++++++++++++++ 2 files changed, 250 insertions(+) diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch new file mode 100644 index 000000000000..6d72389fdb25 --- /dev/null +++ b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch @@ -0,0 +1,31 @@ +https://bugs.gentoo.org/923745 +https://github.com/openzfs/zfs/issues/15453 +https://github.com/openzfs/zfs/pull/15781 +https://github.com/openzfs/zfs/pull/15789 + +From a0aa7a2ee3b56d7b6d69c2081034ec8293a6d605 Mon Sep 17 00:00:00 2001 +From: Kevin Jin <33590050+jxdking@users.noreply.github.com> +Date: Wed, 17 Jan 2024 12:03:58 -0500 +Subject: [PATCH] Autotrim High Load Average Fix + +Switch from cv_wait() to cv_wait_idle() in vdev_autotrim_wait_kick(), +which should mitigate the high load average while waiting. + +Reviewed-by: Brian Atkinson +Reviewed-by: Brian Behlendorf +Reviewed-by: Alexander Motin +Signed-off-by: jxdking +Closes #15781 +--- a/module/zfs/vdev_trim.c ++++ b/module/zfs/vdev_trim.c +@@ -194,7 +194,8 @@ vdev_autotrim_wait_kick(vdev_t *vd, int num_of_kick) + for (int i = 0; i < num_of_kick; i++) { + if (vd->vdev_autotrim_exit_wanted) + break; +- cv_wait(&vd->vdev_autotrim_kick_cv, &vd->vdev_autotrim_lock); ++ cv_wait_idle(&vd->vdev_autotrim_kick_cv, ++ &vd->vdev_autotrim_lock); + } + boolean_t exit_wanted = vd->vdev_autotrim_exit_wanted; + mutex_exit(&vd->vdev_autotrim_lock); + diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild new file mode 100644 index 000000000000..7b28bf3a94ab --- /dev/null +++ b/sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools dist-kernel-utils flag-o-matic linux-mod-r1 multiprocessing + +DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" +HOMEPAGE="https://github.com/openzfs/zfs" + +MODULES_KERNEL_MAX=6.6 +MODULES_KERNEL_MIN=3.10 + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/openzfs/zfs.git" + inherit git-r3 + unset MODULES_KERNEL_MAX +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig + + MY_PV=${PV/_rc/-rc} + SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )" + S="${WORKDIR}/zfs-${MY_PV}" + + ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}" + # Increments minor eg 5.14 -> 5.15, and still supports override. + ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc" + fi +fi + +LICENSE="CDDL MIT debug? ( GPL-2+ )" +SLOT="0/${PVR}" +IUSE="custom-cflags debug +rootfs" +RESTRICT="test" + +BDEPEND=" + app-alternatives/awk + dev-lang/perl +" + +if [[ ${PV} != 9999 ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" + + IUSE+=" +dist-kernel-cap" + RDEPEND=" + dist-kernel-cap? ( dist-kernel? ( +