On 2/2/22 13:44, Andrea Bolognani wrote: > On Thu, Jan 27, 2022 at 02:47:43PM +0100, Michal Privoznik wrote: >> Currently, memory device (def->mems) part of cmd line is >> generated before any controller. In majority of cases it doesn't >> matter because neither of memory devices live on a bus that's >> created by an exposed controller (e.g. there's no DIMM >> controller, at least not exposed). Except for virtio-mem and >> virtio-pmem, which do have a PCI address. And if it so happens >> that the device goes onto non-default bus (pci.0) starting such >> guest fails, because the controller that creates the desired bus >> wasn't processed yet. QEMU processes arguments in order. >> >> For instance, if virtio-mem has address with bus='0x01' QEMU >> refuses to start with the following message: >> >> Bus 'pci.1' not found >> >> Similarly for virtio-pmem. I've successfully tested migration and >> changing the order does not affect migration stream. > > Maybe we should add a test case where the memory device is not on the > root bus? We can't catch the QEMU error of course, but that would at > least serve as some sort of implicit documentation of the fact that > we expect that scenario to work. Sure, I can do that. I'm not that convinced on its value, but I can alter an existing test case. > > For this patch, > > Reviewed-by: Andrea Bolognani <abologna@xxxxxxxxxx> > Pushed, thanks. Michal