From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 4A41D1FF17A
	for <inbox@lore.proxmox.com>; Tue,  6 Aug 2024 14:22:11 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id BFDDA1CEED;
	Tue,  6 Aug 2024 14:22:08 +0200 (CEST)
From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Tue,  6 Aug 2024 14:21:57 +0200
Message-Id: <20240806122203.2266054-1-d.csapak@proxmox.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.036 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
 POISEN_SPAM_PILL_3        0.1 random spam to be learned in bayes
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 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.001 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.001 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
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [sysfstools.pm, pci.pm, qemuserver.pm, proxmox.com]
Subject: [pve-devel] [PATCH common/qemu-server/manager] adapt to nvidia vgpu
 api changes
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

For many new cards, nvidia changed the kernel interface since kernel
verion 6.8. Instead of using mediated devices, they provide their own
api.

This series adapts to that, with no required change to the vm config,
and only minimal changes to our api.

The biggest change is that the mdev types can now be queried on
/nodes/NODE/hardware/pci/<pciid-or-mapping/mdev either via a pci id
(like it was before) or via the name of a pci mapping (now checks all
local devices from that mapping)

A thing to improve could be to parse the available vgpu types from
nvidia-smi instead of the sysfs, since that not always contains all
types (see the common patch 1/2 for details)

We could abstract the code that deals with different types probably a
bit more, but for me it seems Ok for now, and finding a good API for
that is hard with only 3 modes that are very different from each other
(raw/mdev/nvidia).

qemu-server patches depend on the common patches, but the manager patch
does not rely on any other in this series. It is required though
for the user to be able to select types (in certain conditions).

note that this series requires my previous patch to the sysfstools to
improve write reliability[0], otherwise the cleanup or creation may
fail.

0: https://lists.proxmox.com/pipermail/pve-devel/2024-July/064814.html

pve-common:

Dominik Csapak (2):
  SysFSTools: handle new nvidia syfsapi as mdev
  SysFSTools: lscpi: move mdev and iommugroup check outside of verbose

 src/PVE/SysFSTools.pm | 83 ++++++++++++++++++++++++++-----------------
 1 file changed, 51 insertions(+), 32 deletions(-)

qemu-server:

Dominik Csapak (3):
  pci: choose devices: don't reserve pciids when vm is already running
  pci: remove pci reservation: optionally give list of ids to remove
  pci: mdev: adapt to nvidia interface with kernel >= 6.8

 PVE/QemuServer.pm                | 30 +++++++++--
 PVE/QemuServer/PCI.pm            | 92 +++++++++++++++++++++++++++++---
 test/run_config2command_tests.pl |  8 ++-
 3 files changed, 118 insertions(+), 12 deletions(-)

pve-manager:

Dominik Csapak (1):
  api/ui: improve mdev listing for pci mappings

 PVE/API2/Hardware/PCI.pm     | 45 +++++++++++++++++++++++++++++-------
 www/manager6/qemu/PCIEdit.js | 12 +---------
 2 files changed, 38 insertions(+), 19 deletions(-)

-- 
2.39.2


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel