On 02/03/2014 11:44 PM, Eric Blake wrote:
On 02/03/2014 08:19 AM, Jiri Denemark wrote:
> On Mon, Jan 13, 2014 at 14:28:11 +0800, mrhines(a)linux.vnet.ibm.com wrote:
>> From: "Michael R. Hines" <mrhines(a)us.ibm.com>
>>
>> The switch from x-rdma => rdma has not yet happened,
>> but at least we can review the patch until it goes
>> through on qemu-devel.
> The paragraph above would better fit after "---" below so that it
> disappears once this patch gets applied as the statement won't be valid
> anymore at that time.
>
>> USAGE: $ virsh migrate --live --migrateuri x-rdma:hostname domain
qemu+ssh://hostname/system
> s/x-rdma/rdma/ and I believe we should use rdma://hostname as the URI
>
>> Full documenation of the feature:
http://wiki.qemu.org/Features/RDMALiveMigration
s/documenation/documentation/
>> @@ -2561,6 +2570,10 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps,
>> if (qemuCaps->version >= 1006000)
>> virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY);
>>
>> + if (qemuCaps->version >= 2000000)
>> + virQEMUCapsSet(qemuCaps, QEMU_CAPS_MIGRATE_QEMU_RDMA);
>> +
>> +
> And here we need a better check for rdma migration. What if someone
> compiles QEMU without RDMA support?
Better than hard-coding it to a version string is to probe the results
of query-migrate-capabilities and only setting the capability if the
resulting list includes rdma-pin-all, as that will serve as a reliable
witness of qemu being new enough to support rdma without an x- prefix.
These comments I don't understand: Why can't we depend on the
version number here? Isn't that what it was designed for?
If someone compiles QEMU without RDMA support - why does
libvirt need to know about that? Shouldn't the admin know what their
hardware is capable of - otherwise, if they try to specify "rdma://hostname"
as a migration option, they will get a failure - which would be the
correct behavior - they tried to do something without verifying
that their hardware was capable of handling it.
Checking the capability list won't help here either: It will still be in
the list
even if we don't compile QEMU with RDMA support. And if someone
sets the capability anyway, it will just get ignored by QEMU since
RDMA support was not available at compile time.
- Michael