From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxHUF-0007U0-RK for qemu-devel@nongnu.org; Fri, 13 Nov 2015 11:46:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZxHUB-0006HG-LZ for qemu-devel@nongnu.org; Fri, 13 Nov 2015 11:46:07 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36428) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxHUB-0006HC-Ea for qemu-devel@nongnu.org; Fri, 13 Nov 2015 11:46:03 -0500 References: <1446551816-15768-1-git-send-email-zhang.zhanghailiang@huawei.com> <1446551816-15768-10-git-send-email-zhang.zhanghailiang@huawei.com> From: Eric Blake Message-ID: <564613C8.9040904@redhat.com> Date: Fri, 13 Nov 2015 09:46:00 -0700 MIME-Version: 1.0 In-Reply-To: <1446551816-15768-10-git-send-email-zhang.zhanghailiang@huawei.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="gJRjnvV7s2FoOgNUewn8bNKDS0gs53Jl0" Subject: Re: [Qemu-devel] [PATCH COLO-Frame v10 09/38] COLO: Implement colo checkpoint protocol List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: zhanghailiang , qemu-devel@nongnu.org Cc: lizhijian@cn.fujitsu.com, quintela@redhat.com, yunhong.jiang@intel.com, eddie.dong@intel.com, peter.huangpeng@huawei.com, dgilbert@redhat.com, arei.gonglei@huawei.com, stefanha@redhat.com, amit.shah@redhat.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --gJRjnvV7s2FoOgNUewn8bNKDS0gs53Jl0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 11/03/2015 04:56 AM, zhanghailiang wrote: > We need communications protocol of user-defined to control the checkpoi= nt > process. >=20 > The new checkpoint request is started by Primary VM, and the interactiv= e process > like below: > Checkpoint synchronizing points, >=20 > Primary Secondary > 'checkpoint-request' @ -----------------------------> > Suspend (In hybr= id mode) > 'checkpoint-reply' <------------------------------ @ > Suspend&Save state > 'vmstate-send' @ -----------------------------> > Send state Receive state > 'vmstate-received' <------------------------------ @ > Release packets Load state > 'vmstate-load' <------------------------------ @ > Resume Resume (In hybri= d mode) >=20 > Start Comparing (In hybrid mode) > NOTE: > 1) '@' who sends the message > 2) Every sync-point is synchronized by two sides with only > one handshake(single direction) for low-latency. > If more strict synchronization is required, a opposite direction > sync-point should be added. > 3) Since sync-points are single direction, the remote side may > go forward a lot when this side just receives the sync-point. > 4) For now, we only support 'periodic' checkpoint, for which > the Secondary VM is not running, later we will support 'hybrid' mode= =2E >=20 > Signed-off-by: zhanghailiang > Signed-off-by: Li Zhijian > Signed-off-by: Gonglei > Cc: Eric Blake > --- > v10: > - Rename enum COLOCmd to COLOCommand (Eric's suggestion). > - Remove unused 'ram-steal' Interface review only: > +++ b/qapi-schema.json > @@ -702,6 +702,33 @@ > '*tls-port': 'int', '*cert-subject': 'str' } } > =20 > ## > +# @COLOCommand > +# > +# The colo command Still might be nice to spell out what COLO means here, but it's fairly obvious this will be related to anything else COLO, so I'm not too worrie= d. > +# > +# @invalid: unknown command > +# > +# @checkpoint-ready: SVM is ready for checkpointing > +# > +# @checkpoint-request: PVM tells SVM to prepare for new checkpointing > +# > +# @checkpoint-reply: SVM gets PVM's checkpoint request > +# > +# @vmstate-send: VM's state will be sent by PVM. > +# > +# @vmstate-size: The total size of VMstate. > +# > +# @vmstate-received: VM's state has been received by SVM > +# > +# @vmstate-loaded: VM's state has been loaded by SVM > +# > +# Since: 2.5 Will need a tweak to say 2.6. Otherwise looks okay. > +## > +{ 'enum': 'COLOCommand', > + 'data': [ 'invalid', 'checkpoint-ready', 'checkpoint-request', > + 'checkpoint-reply', 'vmstate-send', 'vmstate-size', > + 'vmstate-received', 'vmstate-loaded' ] } > + --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --gJRjnvV7s2FoOgNUewn8bNKDS0gs53Jl0 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJWRhPIAAoJEKeha0olJ0NqcEgH/3ekkuy8n+pN6iQV6yZYJjPW LUXY2lYmk8eT4G9oihy/x80atP58laLvr4q3nEIxdDBOnjQqjc0koHzei9n4HY82 b/uJNXIJJLy4/Mn3bNHadhGQQYTLvRYzZjzAXggZHCttrHr2ZX0PLrkyzlnfceci N4nKV72Qm4NV3rInnpzdMjPTVoch7nYCqnriIlj90P0FyNKr0uE4X+FXgZSEsNIc gVfrZWSKFptLoEyYWznbLvoS4qbTcLK+H3jbrouizpoPSdBWUpvlBVt/WC8BhES0 wCmy/kC43oSZHegYxB4lf6gMFXlJBfuYKF0H3VN0TcWoKVMaV9TwoxUItQeMXUc= =l+cU -----END PGP SIGNATURE----- --gJRjnvV7s2FoOgNUewn8bNKDS0gs53Jl0--