Skip to content
  • Michael R. Hines's avatar
    rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition · 29ae8a41
    Michael R. Hines authored
    
    
    As described in the previous patch, until now, the MIG_STATE_SETUP
    state was not really a 'formal' state. It has been used as a 'zero' state
    (what we're calling 'NONE' here) and QEMU has been unconditionally transitioning
    into this state when the QMP migration command was called. Instead we want to
    introduce MIG_STATE_NONE, which is our starting state in the state machine, and
    then immediately transition into the MIG_STATE_SETUP state when the QMP migrate
    command is issued.
    
    In order to do this, we must delay the transition into MIG_STATE_ACTIVE until
    later in the migration_thread(). This is done to be able to timestamp the amount of
    time spent in the SETUP state for proper accounting to the user during
    an RDMA migration.
    
    Furthermore, the management software, until now, has never been aware of the
    existence of the SETUP state whatsoever. This must change, because, timing of this
    state implies that the state actually exists.
    
    These two patches cannot be separated because the 'query_migrate' QMP
    switch statement needs to know how to handle this new state transition.
    
    Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
    Tested-by: default avatarMichael R. Hines <mrhines@us.ibm.com>
    Signed-off-by: default avatarMichael R. Hines <mrhines@us.ibm.com>
    Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
    29ae8a41