Re: [PATCH v2 03/22] PCI: Inherit bus numbers from previous kernel during Live Update

From: Alex Williamson

Date: Fri Feb 27 2026 - 11:11:54 EST


On Thu, 26 Feb 2026 10:40:57 -0400
Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:

> On Wed, Feb 25, 2026 at 11:20:10PM +0000, David Matlack wrote:
> > On 2026-02-25 04:47 PM, Bjorn Helgaas wrote:
> > > On Thu, Jan 29, 2026 at 09:24:50PM +0000, David Matlack wrote:
> > > > Inherit bus numbers from the previous kernel during a Live Update when
> > > > one or more PCI devices are being preserved. This is necessary so that
> > > > preserved devices can DMA through the IOMMU during a Live Update
> > > > (changing bus numbers would break IOMMU translation).
> > >
> > > I think changing bus numbers would break DMA regardless of whether an
> > > IOMMU is involved. Completions carrying the data for DMA reads are
> > > routed back to the Requester ID of the read.
> >
> > Ahh, makes sense. I'll clarify the commit message in the next
> > version.
>
> More broadly you can't shouldn't the fabric topology while Memory
> Enable is active.
>
> Renumbering or readdressing the fabric requires disabling and flushing
> any memory transactions.
>
> From that reasoning it is clearer that you can't do that if the device
> is expected to hitlesslly continue performing memory operations.
>
> That may be a clearer long term basis for describing the requirements
> here.

Not only fabric topology, but also routing. ACS overrides on the
command line would need to be enforced between the original and kexec
kernel such that IOMMU groups are deterministic. Thanks,

Alex