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. Jirka