From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38134) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZosKS-0000Ud-Il for qemu-devel@nongnu.org; Wed, 21 Oct 2015 08:17:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZosKO-00062b-Dj for qemu-devel@nongnu.org; Wed, 21 Oct 2015 08:17:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43945) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZosKO-00062W-5q for qemu-devel@nongnu.org; Wed, 21 Oct 2015 08:17:12 -0400 References: <1441182199-8328-1-git-send-email-zhang.zhanghailiang@huawei.com> <1441182199-8328-10-git-send-email-zhang.zhanghailiang@huawei.com> From: Eric Blake Message-ID: <5627823F.8070907@redhat.com> Date: Wed, 21 Oct 2015 06:17:03 -0600 MIME-Version: 1.0 In-Reply-To: <1441182199-8328-10-git-send-email-zhang.zhanghailiang@huawei.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="FOqF2ORoRgQoa1LLOpaqg71Sh1SJ2XqRV" Subject: Re: [Qemu-devel] [PATCH COLO-Frame v9 09/32] 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, yanghy@cn.fujitsu.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --FOqF2ORoRgQoa1LLOpaqg71Sh1SJ2XqRV Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 09/02/2015 02:22 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: Yang Hongyang > Signed-off-by: Li Zhijian > Signed-off-by: Gonglei > --- > migration/colo.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++= +++++++- > qapi-schema.json | 26 ++++++++ > trace-events | 3 +- > 3 files changed, 218 insertions(+), 3 deletions(-) Just a qapi review: > +++ b/qapi-schema.json > @@ -664,6 +664,32 @@ > '*tls-port': 'int', '*cert-subject': 'str' } } > =20 > ## > +# @COLOCmd Any reason this can't be COLOCommand? We tend to avoid abbreviations in the public interface, although arguably type names are not ABI. > +# > +# The colo command > +# > +# @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-received: VM's state has been received by SVM > +# > +# @vmstate-loaded: VM's state has been loaded by SVM 7 documentation strings... > +# > +# Since: 2.5 > +## > +{ 'enum': 'COLOCmd', > + 'data': [ 'invalid', 'checkpoint-ready', 'checkpoint-request', > + 'checkpoint-reply', 'vmstate-send', 'vmstate-size', > + 'vmstate-received', 'vmstate-loaded', 'guest-shutdown', > + 'ram-steal'] } =2E..10 enum values. Missing vmstate-size, guest-shutdown, ram-steal. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --FOqF2ORoRgQoa1LLOpaqg71Sh1SJ2XqRV 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/ iQEcBAEBCAAGBQJWJ4JAAAoJEKeha0olJ0Nq0WkIAJB/7e79oFyVz8w++sS5iDy3 qM1irc/4baxHnUyO4eAubUzcepo+YGOmw9uRnDaMeTXhnvfg+x9JKy0EtLfe+hKJ 3pL0z/7iGJicPWKArOR6lcJw6uGnihHRgqHZqtgcPiraN1lARe6WND8tUixIRCbt 9/Hvgs5ck4D/Eo0AgJo+XD05VWD2WrcrSGMU7BA0UL1JNtv3m+INGqTq0jmRn/kA M/yfKJ4bzg4cSnGTzBFVZ717bYS8T8Rn0qjLCKEhbQ0WlViq1YcJVZu7IQlIWw8E 8FNn1B5DVdCnP1vqzsjGzCf/eZwO/6nVfBPhJx/GTY0frx/lx34zJk7S9u6c/qY= =izoZ -----END PGP SIGNATURE----- --FOqF2ORoRgQoa1LLOpaqg71Sh1SJ2XqRV--