From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 750881FF13C for ; Thu, 19 Mar 2026 12:31:37 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 81DCD1BF73; Thu, 19 Mar 2026 12:31:50 +0100 (CET) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 19 Mar 2026 12:31:13 +0100 Message-Id: Subject: Re: [PATCH common/debcargo-conf/manager/proxmox-perl-rs/qemu-server 00/13] use NVML for vGPU info querying From: "Christoph Heiss" To: "Dominik Csapak" X-Mailer: aerc 0.21.0 References: <20260305091711.1221589-1-d.csapak@proxmox.com> In-Reply-To: <20260305091711.1221589-1-d.csapak@proxmox.com> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1773919831492 X-SPAM-LEVEL: Spam detection results: 0 AWL -1.012 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 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.408 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.819 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.903 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 6GOCKO46VS4KF6JVF2ZE7Y3OE46DHKE7 X-Message-ID-Hash: 6GOCKO46VS4KF6JVF2ZE7Y3OE46DHKE7 X-MailFrom: c.heiss@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: pve-devel@lists.proxmox.com X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Built and tested on our RTX A5000 rig. Works as advertised - the vGPU type descriptions are now actually shown in the mdev type selector dropdown. Please consider the series: Reviewed-by: Christoph Heiss Tested-by: Christoph Heiss On Thu Mar 5, 2026 at 10:16 AM CET, Dominik Csapak wrote: > This series replaces Christoph's previous series[0] > > It's more or less a rewrite, thus no v2 or similar, but some patches dire= ctly > take code from Christoph's attempt, so i marked those commits as > co-developed-by. > > Changes: > > Instead of using our own wrapper+high level abstraction use the already e= xisting > 'nvml-wrapper' and 'nvml-wrapper-sys' which had a very similar approach, = but are > already packaged in debian. (though not fully up-to-date to what we need,= so > i updated/backported the patches). Please tell me if when i should send > these kind of patches differently. > > Also i expose two functions, 'creatable' and 'supported' for future proof= ing, > since we want to have a more complete response in the api about which pro= files > are available. > > I moved the code that depends on the perlmod binding to qemu-server for n= ow > as it seemed fitting, we only need it there and in pve-manager > > If wanted I can split it out into it's own package (proxmox-pci? > proxmox-hardware? proxmox-mdev?, not sure what's a good name for this), b= ut > that could also be done later when we need it. > > Also changed the format of the description from 'x,y,z' to 'x > y > z' since > that's what was there previously and what the gui expects. Also the field= s > themselves can contain ',' so parsing would be unnecessarily hard when we= do > that. > > The pve-common cleanup patch is optional, and as an alternative we could > just mark these deprecated and remove them with e.g. 10.0 so we can save = us a > breaks cyclye for pve-common <-> qemu-server. > > 0: https://lore.proxmox.com/pve-devel/20260120131319.949986-1-c.heiss@pro= xmox.com/ > > debcargo-conf: > > Dominik Csapak (4): > nvml-wrapper: Update to 0.12.0 > nvml-wrapper: add patch for vgpu ids > backport nvml-wrapper-sys 0.9.0-1 > backport nvml-wrapper 0.12.0-1 > > Matthias Geiger (4): > nvml-wrapper-sys: Update to 0.9.0 > nvml-wrapper-sys: release 0.9.0-1 > nvml-wrapper: Update to 0.11.0 > nvml-wrapper: release 0.11.0-1 > > src/nvml-wrapper-sys/debian/changelog | 12 +++++++ > .../debian/copyright.debcargo.hint | 7 ++++ > src/nvml-wrapper/debian/changelog | 20 ++++++++++++ > .../debian/copyright.debcargo.hint | 11 +++++-- > ...-method-for-getting-the-vGPU-type-id.patch | 32 +++++++++++++++++++ > src/nvml-wrapper/debian/patches/series | 1 + > 6 files changed, 81 insertions(+), 2 deletions(-) > create mode 100644 src/nvml-wrapper/debian/patches/add-method-for-gettin= g-the-vGPU-type-id.patch > > > proxmox-perl-rs: > > Dominik Csapak (1): > pve: add binding for accessing vgpu info > > pve-rs/Cargo.toml | 1 + > pve-rs/Makefile | 1 + > pve-rs/src/bindings/mod.rs | 3 ++ > pve-rs/src/bindings/nvml.rs | 91 +++++++++++++++++++++++++++++++++++++ > 4 files changed, 96 insertions(+) > create mode 100644 pve-rs/src/bindings/nvml.rs > > > qemu-server: > > Dominik Csapak (2): > pci: move mdev related code to own module > pci: mdev: use PVE::RS::NVML for nvidia mdev information > > src/PVE/QemuServer.pm | 5 +- > src/PVE/QemuServer/Makefile | 1 + > src/PVE/QemuServer/PCI.pm | 58 +++-------- > src/PVE/QemuServer/PCI/Makefile | 9 ++ > src/PVE/QemuServer/PCI/Mdev.pm | 164 ++++++++++++++++++++++++++++++++ > 5 files changed, 190 insertions(+), 47 deletions(-) > create mode 100644 src/PVE/QemuServer/PCI/Makefile > create mode 100644 src/PVE/QemuServer/PCI/Mdev.pm > > > pve-manager: > > Dominik Csapak (1): > api: hardware: pci: use NVML for querying mdev information > > PVE/API2/Hardware/PCI.pm | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > > pve-common: > > Dominik Csapak (1): > sysfs tools: remove moved code > > src/PVE/SysFSTools.pm | 111 ------------------------------------------ > 1 file changed, 111 deletions(-) > > > Summary over all repositories: > 17 files changed, 370 insertions(+), 163 deletions(-)