On Sat, Nov 29, 2025 at 08:20:34PM -0500, Pasha Tatashin wrote: > On Sat, Nov 29, 2025 at 7:51 PM Jason Gunthorpe <[email protected]> wrote: > > > > On Sat, Nov 29, 2025 at 11:34:49AM +0100, Lukas Wunner wrote: > > > On Wed, Nov 26, 2025 at 07:35:49PM +0000, David Matlack wrote: > > > > Add an API to enable the PCI subsystem to track all devices that are > > > > preserved across a Live Update, including both incoming devices (passed > > > > from the previous kernel) and outgoing devices (passed to the next > > > > kernel). > > > > > > > > Use PCI segment number and BDF to keep track of devices across Live > > > > Update. This means the kernel must keep both identifiers constant across > > > > a Live Update for any preserved device. > > > > > > While bus numbers will *usually* stay the same across next and previous > > > kernel, there are exceptions. E.g. if "pci=assign-busses" is specified > > > on the command line, the kernel will re-assign bus numbers on every boot. > > > > Stuff like this has to be disabled for this live update stuff, if the > > bus numbers are changed it will break the active use of the iommu > > across the kexec. > > > > So while what you say is all technically true, I'm not sure this is > > necessary. > > I agree. However, Lukas's comment made me wonder about the future: if > we eventually need to preserve non-PCI devices (like a TPM), should we > be designing a common identification mechanism for all buses now? Or > should we settle on BDF for PCI and invent stable identifiers for > other bus types as they become necessary?
Well, at least PCI subsystem should use BDF.. You are probably right that the matching of preserved data to a struct device should be more general though. Jason

