Copy postcopy_start(), a little similar with migration_completion()
migrate_set_state(MIGRATION_STATUS_ACTIVE, MIGRATION_STATUS_POSTCOPY_ACTIVE)
qemu_system_wakeup_request(QEMU_WAKEUP_REASON_OTHER, NULL);
global_state_store();
vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
migration_maybe_pause(ms, &cur_state, MIGRATION_STATUS_POSTCOPY_ACTIVE);
bdrv_inactivate_all();
qemu_savevm_state_complete_precopy(ms->to_dst_file, true, false);
ram_postcopy_send_discard_bitmap()
migration_bitmap_sync(), should be the last sync
postcopy_chunk_hostpages(), Deal with TPS != HPS
postcopy_chunk_hostpages_pass(ms, true, block, pds);
postcopy_chunk_hostpages_pass(ms, false, block, pds);
postcopy_each_ram_send_discard(), tell destination to discard page
postcopy_discard_send_init()
postcopy_send_discard_bm_ram()
postcopy_discard_send_finish()
qemu_savevm_send_postcopy_listen(fb); let destination in Listen State
qemu_savevm_command_send(f, MIG_CMD_POSTCOPY_LISTEN), destination will start postcopy_ram_listen_thread
qemu_savevm_state_complete_precopy(fb, false, false);
qemu_savevm_send_postcopy_run(fb);
qemu_savevm_command_send(f, MIG_CMD_POSTCOPY_RUN, 0, NULL);
qemu_savevm_send_packaged(ms->to_dst_file, bioc->data, bioc->usage), MIG_CMD_PACKAGED
ram_postcopy_migrated_memory_release(ms), release mem.