On Tue, Dec 2, 2025 at 10:19 PM Jason Gunthorpe jgg@nvidia.com wrote:
On Tue, Dec 02, 2025 at 08:36:53PM +0400, Chris Li wrote:
Jason, please correct me if I am wrong. My understanding is that not only the device that is actively doing the DMA requires the bus number to stay the same, I think all the parent bridge, all the way to the root PCI host bridge, bus number must remain the same. After all, the DMA will need to route through the parent bridges.
The completions need to route back through the parent bridges, so yes you cannot do anything to disturb RID based routing in the active fabric either, with also means few changes to the subordinate bus range of any bridge are possible.
Thank you Jason for the confirmation.
Lukas, that means if we are using the path, we will need to save the bus number along each path node. Different liveupdate devices might share the parent bridges, we might want to de-duplicate that. Then you end up with something very similar to the BDF design, where the path part is just redundant if you have BDF.
That is what I mean previously, using the BDF has the same protections as path design, just simpler.
Chris