Skip to content
  • Peter Xu's avatar
    3e5f3bcd
    migration: Add tracepoints for downtime checkpoints · 3e5f3bcd
    Peter Xu authored
    This patch is inspired by Joao Martin's patch here:
    
    https://lore.kernel.org/r/20230926161841.98464-1-joao.m.martins@oracle.com
    
    
    
    Add tracepoints for major downtime checkpoints on both src and dst.  They
    share the same tracepoint with a string showing its stage.
    
    Besides the checkpoints in the previous patch, this patch also added
    destination checkpoints.
    
    On src, we have these checkpoints added:
    
      - src-downtime-start: right before vm stops on src
      - src-vm-stopped: after vm is fully stopped
      - src-iterable-saved: after all iterables saved (END sections)
      - src-non-iterable-saved: after all non-iterable saved (FULL sections)
      - src-downtime-stop: migration fully completed
    
    On dst, we have these checkpoints added:
    
      - dst-precopy-loadvm-completes: after loadvm all done for precopy
      - dst-precopy-bh-*: record BH steps to resume VM for precopy
      - dst-postcopy-bh-*: record BH steps to resume VM for postcopy
    
    On dst side, we don't have a good way to trace total time consumed by
    iterable or non-iterable for now.  We can mark it by 1st time receiving a
    FULL / END section, but rather than that let's just rely on the other
    tracepoints added for vmstates to back up the information.
    
    With this patch, one can enable "vmstate_downtime*" tracepoints and it'll
    enable all tracepoints for downtime measurements necessary.
    
    Drop loadvm_postcopy_handle_run_bh() tracepoint alongside, because they
    service the same purpose, which was only for postcopy.  We then have
    unified prefix for all downtime relevant tracepoints.
    
    Co-developed-by: default avatarJoao Martins <joao.m.martins@oracle.com>
    Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
    Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
    Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
    Message-ID: <20231030163346.765724-6-peterx@redhat.com>
    3e5f3bcd
    migration: Add tracepoints for downtime checkpoints
    Peter Xu authored
    This patch is inspired by Joao Martin's patch here:
    
    https://lore.kernel.org/r/20230926161841.98464-1-joao.m.martins@oracle.com
    
    
    
    Add tracepoints for major downtime checkpoints on both src and dst.  They
    share the same tracepoint with a string showing its stage.
    
    Besides the checkpoints in the previous patch, this patch also added
    destination checkpoints.
    
    On src, we have these checkpoints added:
    
      - src-downtime-start: right before vm stops on src
      - src-vm-stopped: after vm is fully stopped
      - src-iterable-saved: after all iterables saved (END sections)
      - src-non-iterable-saved: after all non-iterable saved (FULL sections)
      - src-downtime-stop: migration fully completed
    
    On dst, we have these checkpoints added:
    
      - dst-precopy-loadvm-completes: after loadvm all done for precopy
      - dst-precopy-bh-*: record BH steps to resume VM for precopy
      - dst-postcopy-bh-*: record BH steps to resume VM for postcopy
    
    On dst side, we don't have a good way to trace total time consumed by
    iterable or non-iterable for now.  We can mark it by 1st time receiving a
    FULL / END section, but rather than that let's just rely on the other
    tracepoints added for vmstates to back up the information.
    
    With this patch, one can enable "vmstate_downtime*" tracepoints and it'll
    enable all tracepoints for downtime measurements necessary.
    
    Drop loadvm_postcopy_handle_run_bh() tracepoint alongside, because they
    service the same purpose, which was only for postcopy.  We then have
    unified prefix for all downtime relevant tracepoints.
    
    Co-developed-by: default avatarJoao Martins <joao.m.martins@oracle.com>
    Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
    Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
    Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
    Message-ID: <20231030163346.765724-6-peterx@redhat.com>
Loading