public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: Yao Xu <xy2462381442@gmail.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH pve-docs 0/2] qm: pci passthrough: the AtomicOps caveat of the all-functions form
Date: Tue, 25 Aug 2026 15:16:05 +0200	[thread overview]
Message-ID: <a45e2eba-5469-4b5d-ab41-a06877481933@proxmox.com> (raw)
In-Reply-To: <20260824170828.42821-1-Xy2462381442@gmail.com>



On 8/25/26 10:10 AM, Yao Xu wrote:
> Passing a card with the shortened ``00:02`' syntax quietly costs the
> guest PCIe AtomicOps. QEMU adds AtomicOp completer support to the
> emulated root port only for a single-function device, so the port ends
> up advertising none, and nothing in the config or the logs points at
> the cause. The failure surfaces as a driver or ROCm problem several
> layers away.
> 
> Patch 1 documents this next to the paragraph that introduces the
> syntax. Patch 2 appends the function to the GPU example below it, which
> currently pairs pcie=on with the all-functions form and would hit the
> caveat as written.
> 
> Verified on Proxmox VE 9.2.4 with QEMU 11.0.2 and two RX 7900 XT
> (gfx1100) in one q35 guest; the reproduction is in patch 1.
> 
> Yao Xu (2):
>    qm: pci passthrough: note the AtomicOps caveat of all-functions form
>    qm: pci passthrough: name the function in the GPU example
> 
>   qm-pci-passthrough.adoc | 17 ++++++++++++++++-
>   1 file changed, 16 insertions(+), 1 deletion(-)
> 
Hi,

thanks for the contribution, did you already see our developer docs:
https://pve.proxmox.com/wiki/Developer_Documentation
?

especially the part about the CLA.

I have a question: how is this handled on real hardware, since I
guess that works just fine there? (The cards in question
do have multiple functions...)

If yes, I'd rather have this reported as a bug on the QEMU side,
rather have a behavior documented that might change with any release.
 From my experience, in most situations, you want to pass the card
through as it is on the host, e.g. with functions.

Also, the way the note is phrased makes it sound like this is something
everyone needs, while it's probably only relevant for some use cases.

In that case we could rephrase the note to something like:

Note for multi-GPU ROCm users:

QEMU (up to version x.y as of 2026) only advertises...


or something similar.

Best regards
Dominik




  parent reply	other threads:[~2026-08-25 13:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-24 17:08 [PATCH pve-docs 0/2] qm: pci passthrough: the AtomicOps caveat of the all-functions form Yao Xu
2026-08-24 17:08 ` [PATCH pve-docs 1/2] qm: pci passthrough: note the AtomicOps caveat of " Yao Xu
2026-08-24 17:08 ` [PATCH pve-docs 2/2] qm: pci passthrough: name the function in the GPU example Yao Xu
2026-08-25 13:16 ` Dominik Csapak [this message]
     [not found]   ` <CANzZxgda3RsuakrK2wmDH3ez-hbby3qNte+qkfixipSrWoBzaQ@mail.gmail.com>
2026-08-25 14:09     ` [PATCH pve-docs 0/2] qm: pci passthrough: the AtomicOps caveat of the all-functions form 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=a45e2eba-5469-4b5d-ab41-a06877481933@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=xy2462381442@gmail.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
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal