Hi! I found the migration broken on pseries platform, specifically, this patch broke it:
f1c72795af573b24a7da5eb52375c9aba8a37972 migration: do not sent zero pages in bulk stage The idea is not to send zero pages to the destination guest which is expected to have 100% empty RAM. However on pseries plaftorm the guest always has some stuff in the RAM as a part of initialization (device tree, system firmware and rtas (?)) so it is not completely empty. As the source guest cannot detect this, it skips some pages during migration and we get a broken destination guest. Bug. While the idea is ok in general, I do not see any easy way to fix it as neither QEMUMachine::init nor QEMUMachine::reset callbacks has information about whether we are about to receive a migration or not (-incoming parameter) and we cannot move device-tree and system firmware initialization anywhere else. ram_bulk_stage is static and cannot be disabled from the platform initialization code. So what would the community suggest? Thanks! -- Alexey