
On Sat, Nov 07, 2015 at 15:06:03 +0000, Feng, Shaohe wrote:
However, since we already have VIR_MIGRATE_COMPRESSED flag and I can imagine various other hypervisors could support their own compression methods, I think using flags for selecting the compression method is wrong. So what if we keep just VIR_MIGRATE_COMPRESSED flag and introduce a new migration parameter to let the user select what compression method they want to use (XBZRLE, multithreaded compression, ...) and each of them could be further configurable with additional parameters. Each hypervisor would also advertise a list of supported compression methods via virConnectGetDomainCapabilities. QEMU would have XBZRLE method selected by default for backward compatibility (it would have to be advertised as the default method in virConnectGetDomainCapabilities too).
Hi, Jiri.
I have check the domcapabilities. There is no any compression info from domcapabilities.
Do you means we need to add a new element of domainCapabilities as follow: <domainCapabilities> <migration> < XBZRLE supported='yes'> </ XBZRLE > < mutil-thread supported='yes'> <method > <value>xz</value> </method > <level > <value>8</value> </ level > <compress-counter> <value>4</value> </ compress-counter > <decompress-counter> <value>2</value> </decompress-counter > </ mutil-thread > </ migration > </domainCapabilities>
In general yes, but I was thinking about a bit different schema: <domcapabilities> ... <migration> <compression> <method name='xbzrle' default='yes'> <param name='cache'/> </method> <method name='mt'> <param name='level'/> <param name='threads'/> <param name='dthreads'/> </method> ... </compression> </migration> </domcapabilities> Jirka