From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id D07499E460 for ; Tue, 31 Oct 2023 13:11:15 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id BACD41B034 for ; Tue, 31 Oct 2023 13:11:15 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (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 firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 31 Oct 2023 13:11:14 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id BC2B542DE6 for ; Tue, 31 Oct 2023 13:11:14 +0100 (CET) From: Christoph Heiss To: pve-devel@lists.proxmox.com Date: Tue, 31 Oct 2023 13:10:52 +0100 Message-ID: <20231031121108.1130299-1-c.heiss@proxmox.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.015 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [setup.rs, config.pm, proxmox.com, main.rs, zfs-arc-max.pl, runenv.pm, install.pm, mod.rs, bootdisk.rs, options.rs] Subject: [pve-devel] [PATCH installer v3 0/8] fix #4829: set up lower default limit for ZFS ARC in installer X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2023 12:11:15 -0000 Fixes #4829. Introduces a new ZFS install option `arc_max` (aptly named after the corresponding module option `zfs_arc_max`). For PVE installations, this can be adjusted when creating a ZFS RAID under "Advanced Options". The default value is choosen as 10% of system memory, clamped to between 64 MiB as lower limit and 16 GiB as upper limit. For PBS and PMG, the option is (currently) hidden. If the option is set to a non-zero value, a new file /etc/modprobe.d/zfs.conf gets written during install, setting the `zfs_arc_max` module option as appropriate. Tested by installing PVE, PBS and PMG, using both the GUI and TUI installer. For PVE, checked that the `zfs` module option gets correctly written & applied, the latter by looking at the output of `arc_summary`. For PBS and PMG, verified that no modprobe options file is created and the ARC size is set to default. v1: https://lists.proxmox.com/pipermail/pve-devel/2023-August/058830.html v2: https://lists.proxmox.com/pipermail/pve-devel/2023-October/059606.html Notable changes v1 -> v2: * rebased on latest master * fix arc_max value set in TUI not being applied correctly Notable changes v2 -> v3: * rebased on latest master * new patch explaining query_total_memory, which is used extensively in this patchset * new patch unifying product handling a bit * documented all calculations better w.r.t. to their units * moved modprobe setup into separate sub Christoph Heiss (8): run env: add comment for query_total_memory() tui: views: add optional suffix label for `NumericEditView`s tui: bootdisk: simplify product handling by passing the config directly fix #4829: install: add new ZFS `arc_max` setup option fix #4829: proxinstall: expose new `arc_max` ZFS option for PVE installations fix #4829: test: add tests for new zfs_arc_max calculations fix #4829: tui: setup: add new ZFS `arc_max` option fix #4829: tui: bootdisk: expose new `arc_max` ZFS option for PVE installations Makefile | 3 + Proxmox/Install.pm | 14 +++ Proxmox/Install/Config.pm | 1 + Proxmox/Install/RunEnv.pm | 47 ++++++++ debian/control | 1 + proxinstall | 15 +++ proxmox-tui-installer/src/main.rs | 2 +- proxmox-tui-installer/src/options.rs | 57 +++++++++- proxmox-tui-installer/src/setup.rs | 2 + proxmox-tui-installer/src/views/bootdisk.rs | 116 +++++++++++++------- proxmox-tui-installer/src/views/mod.rs | 104 ++++++++++++++---- test/Makefile | 10 ++ test/zfs-arc-max.pl | 81 ++++++++++++++ 13 files changed, 386 insertions(+), 67 deletions(-) create mode 100644 test/Makefile create mode 100755 test/zfs-arc-max.pl -- 2.41.0