• Z
    COLO: Introduce checkpointing protocol · 4f97558e
    zhanghailiang 提交于
    We need communications protocol of user-defined to control
    the checkpointing process.
    
    The new checkpointing request is started by Primary VM,
    and the interactive process like below:
    
    Checkpoint synchronizing points:
    
                       Primary               Secondary
                                                initial work
    'checkpoint-ready'    <-------------------- @
    
    'checkpoint-request'  @ -------------------->
                                                Suspend (Only in hybrid mode)
    'checkpoint-reply'    <-------------------- @
                          Suspend&Save state
    'vmstate-send'        @ -------------------->
                          Send state            Receive state
    'vmstate-received'    <-------------------- @
                          Release packets       Load state
    'vmstate-load'        <-------------------- @
                          Resume                Resume (Only in hybrid mode)
    
                          Start Comparing (Only 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.
    Signed-off-by: Nzhanghailiang <zhang.zhanghailiang@huawei.com>
    Signed-off-by: NLi Zhijian <lizhijian@cn.fujitsu.com>
    Signed-off-by: NGonglei <arei.gonglei@huawei.com>
    Cc: Eric Blake <eblake@redhat.com>
    Cc: Markus Armbruster <armbru@redhat.com>
    Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
    Reviewed-by: NAmit Shah <amit.shah@redhat.com>
    Signed-off-by: NAmit Shah <amit@amitshah.net>
    4f97558e
colo.c 7.4 KB