On 06/13/2013 05:40 PM, Paolo Bonzini wrote:
Il 13/06/2013 17:17, Michael R. Hines ha scritto:
On 06/13/2013 04:06 PM, Paolo Bonzini wrote:
Regarding the timestamp problem, it should be fixed in the RDMA code.
You did find a bug, but xyz_start_outgoing_migration should be
asynchronous and the pinning should happen in the setup phase. This is
because the setup phase is already running outside the big QEMU lock and
the guest would not be frozen.
I think you misunderstood the symptom. The pinning is *already*
happening in the setup phase (xyz_start_outgoing_migration), not
inside the the migration_thread().
I was referring to ram_control_before_iterate(f, RAM_CONTROL_SETUP).
Even better, that would be a good reason to remove the
+ * Please leave in place. These calls generate reserved messages in
+ * the RDMA protocol in order to pre-register RDMA memory in the
+ * future before the bulk round begins.
comment that I don't like. :)
xyz_start_outgoing_migration is the connect phase if you want to give it
a name.
The connect phase runs with the big QEMU lock taken, so any interrupt
will freeze VCPUs until the pinning ends.
Excellent suggestions. I've re-submitted the patch already with these
modifications as v8.
Thanks, Paolo.
Juan, are you going to pick this up, or should Anthony do it? (Michael:
in any case, do not send a pull request yourself).
Understood =).