From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH common/debcargo-conf/manager/proxmox-perl-rs/qemu-server 00/13] use NVML for vGPU info querying
Date: Thu, 5 Mar 2026 10:16:44 +0100 [thread overview]
Message-ID: <20260305091711.1221589-1-d.csapak@proxmox.com> (raw)
This series replaces Christoph's previous series[0]
It's more or less a rewrite, thus no v2 or similar, but some patches directly
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 existing
'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 proofing,
since we want to have a more complete response in the api about which profiles
are available.
I moved the code that depends on the perlmod binding to qemu-server for now
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), but
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 fields
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@proxmox.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-getting-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(-)
--
Generated by git-murpp 0.8.1
next reply other threads:[~2026-03-05 9:17 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-05 9:16 Dominik Csapak [this message]
2026-03-05 9:16 ` [PATCH debcargo-conf 1/8] nvml-wrapper-sys: Update to 0.9.0 Dominik Csapak
2026-03-05 9:16 ` [PATCH debcargo-conf 2/8] nvml-wrapper-sys: release 0.9.0-1 Dominik Csapak
2026-03-05 9:16 ` [PATCH debcargo-conf 3/8] nvml-wrapper: Update to 0.11.0 Dominik Csapak
2026-03-05 9:16 ` [PATCH debcargo-conf 4/8] nvml-wrapper: release 0.11.0-1 Dominik Csapak
2026-03-05 9:16 ` [PATCH debcargo-conf 5/8] nvml-wrapper: Update to 0.12.0 Dominik Csapak
2026-03-05 9:16 ` [PATCH debcargo-conf 6/8] nvml-wrapper: add patch for vgpu ids Dominik Csapak
2026-03-05 9:16 ` [PATCH debcargo-conf 7/8] backport nvml-wrapper-sys 0.9.0-1 Dominik Csapak
2026-03-05 9:16 ` [PATCH debcargo-conf 8/8] backport nvml-wrapper 0.12.0-1 Dominik Csapak
2026-03-05 9:16 ` [PATCH proxmox-perl-rs 1/1] pve: add binding for accessing vgpu info Dominik Csapak
2026-03-05 9:16 ` [PATCH qemu-server 1/2] pci: move mdev related code to own module Dominik Csapak
2026-03-05 9:16 ` [PATCH qemu-server 2/2] pci: mdev: use PVE::RS::NVML for nvidia mdev information Dominik Csapak
2026-03-05 9:16 ` [PATCH manager 1/1] api: hardware: pci: use NVML for querying " Dominik Csapak
2026-03-05 9:16 ` [PATCH common 1/1] sysfs tools: remove moved code Dominik Csapak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260305091711.1221589-1-d.csapak@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox