On 2023/4/24 18:57, Jiri Denemark wrote: > On Fri, Apr 21, 2023 at 17:39:12 +0800, Jiang Jiacheng wrote: >> >> Thank you for your reply and review, I'd appreciate for you to do that. >> >> And I'd also like to confirm that we have the following usages after the >> modification. >> for non-parallel migration, we can use >> >> --compressed >> default to use XBZRLE for migration >> >> --compressed --comp-methods ... >> use the specificed methods for migration >> >> --comp-methods ... >> use the specificed methods for migration, and set the corresponding cap >> >> and those are forbidden since the method isn't supported with >> non-parallel migration >> >> [--compressed] --comp-methods=zlib >> [--compressed] --comp-methods=zstd > > Correct. > >> for parallel migration, we have to enable the cap using "--parallel", >> and can use like: >> >> --parallel >> default to NONE compression method for parallel migration >> >> --parallel --comp-methods ... >> use the specificed methods for parallel migration >> >> --parallel --compressed --comp-methods ... >> use the specificed methods for parallel migration, it's same as the >> above >> >> and those are forbidden since the method isn't supported with parallel >> migration >> >> --parallel [--compressed] --comp-methods=mt >> --parallel [--compressed] --comp-methods=xbzrle > > Right, but see below... > >> In particular, >> >> --parallel --compressed >> >> is forbiddene because it leads to a result that NONE compression method >> is chosen but compressed flag is set. >> And I test it on libvirt-6.2.0 with qemu-6.2.0, '--parallel >> --compressed' will set cap 'xbzrle' and 'multifd' both to true, which I >> think is unreasonable though the migration is succeed. > > Hmm, that would mean xbzrle is supported even for parallel migrations > and we should not break this functionality. I experimented a bit and > both mt and xbzrle compression methods seem to work with parallel > migration. Even query-migrate reports compression statistics that > suggest it actually works since they are similar for both normal and > --parallel migrations. > > On the other hand according to Juan from QEMU none of them is compatible > with parallel migration. I will try to discuss this a bit more with him, > but so far I think we should allow both xbzrle and mt with parallel > migration to avoid breaking things people might be using. > I found that there is a patch about this in qemu, which disables multifd capability explicitly when compression=on. Maybe xbzrle have the same problem as mt? ref:https://github.com/qemu/qemu/commit/6f39c90b86b9d3772779f873ed88aaa75a220aba Thanks, Jiang Jiacheng