Lines Matching refs:mis

1820 static int loadvm_postcopy_handle_advise(MigrationIncomingState *mis,  in loadvm_postcopy_handle_advise()  argument
1852 if (!postcopy_ram_supported_by_host(mis, &local_err)) { in loadvm_postcopy_handle_advise()
1858 remote_pagesize_summary = qemu_get_be64(mis->from_src_file); in loadvm_postcopy_handle_advise()
1882 remote_tps = qemu_get_be64(mis->from_src_file); in loadvm_postcopy_handle_advise()
1898 if (ram_postcopy_incoming_init(mis)) { in loadvm_postcopy_handle_advise()
1910 static int loadvm_postcopy_ram_handle_discard(MigrationIncomingState *mis, in loadvm_postcopy_ram_handle_discard() argument
1922 tmp = postcopy_ram_prepare_discard(mis); in loadvm_postcopy_ram_handle_discard()
1947 tmp = qemu_get_byte(mis->from_src_file); in loadvm_postcopy_ram_handle_discard()
1953 if (!qemu_get_counted_string(mis->from_src_file, ramid)) { in loadvm_postcopy_ram_handle_discard()
1957 tmp = qemu_get_byte(mis->from_src_file); in loadvm_postcopy_ram_handle_discard()
1971 start_addr = qemu_get_be64(mis->from_src_file); in loadvm_postcopy_ram_handle_discard()
1972 block_length = qemu_get_be64(mis->from_src_file); in loadvm_postcopy_ram_handle_discard()
1994 MigrationIncomingState *mis = migration_incoming_get_current(); in postcopy_ram_listen_thread() local
1995 QEMUFile *f = mis->from_src_file; in postcopy_ram_listen_thread()
2001 migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE, in postcopy_ram_listen_thread()
2003 qemu_sem_post(&mis->thread_sync_sem); in postcopy_ram_listen_thread()
2012 load_res = qemu_loadvm_state_main(f, mis); in postcopy_ram_listen_thread()
2019 f = mis->from_src_file; in postcopy_ram_listen_thread()
2039 migrate_set_state(&mis->state, MIGRATION_STATUS_POSTCOPY_ACTIVE, in postcopy_ram_listen_thread()
2049 qemu_event_wait(&mis->main_thread_load_event); in postcopy_ram_listen_thread()
2051 postcopy_ram_incoming_cleanup(mis); in postcopy_ram_listen_thread()
2064 migrate_set_state(&mis->state, MIGRATION_STATUS_POSTCOPY_ACTIVE, in postcopy_ram_listen_thread()
2076 mis->have_listen_thread = false; in postcopy_ram_listen_thread()
2085 static int loadvm_postcopy_handle_listen(MigrationIncomingState *mis) in loadvm_postcopy_handle_listen() argument
2102 postcopy_ram_prepare_discard(mis); in loadvm_postcopy_handle_listen()
2114 if (postcopy_ram_incoming_setup(mis)) { in loadvm_postcopy_handle_listen()
2115 postcopy_ram_incoming_cleanup(mis); in loadvm_postcopy_handle_listen()
2127 mis->have_listen_thread = true; in loadvm_postcopy_handle_listen()
2128 postcopy_thread_create(mis, &mis->listen_thread, "postcopy/listen", in loadvm_postcopy_handle_listen()
2138 MigrationIncomingState *mis = opaque; in loadvm_postcopy_handle_run_bh() local
2149 qemu_announce_self(&mis->announce_timer, migrate_announce_params()); in loadvm_postcopy_handle_run_bh()
2174 qemu_bh_delete(mis->bh); in loadvm_postcopy_handle_run_bh()
2180 static int loadvm_postcopy_handle_run(MigrationIncomingState *mis) in loadvm_postcopy_handle_run() argument
2191 mis->bh = qemu_bh_new(loadvm_postcopy_handle_run_bh, mis); in loadvm_postcopy_handle_run()
2192 qemu_bh_schedule(mis->bh); in loadvm_postcopy_handle_run()
2206 MigrationIncomingState *mis = data; in postcopy_sync_page_req() local
2225 ret = migrate_send_rp_message_req_pages(mis, rb, rb_offset); in postcopy_sync_page_req()
2238 static void migrate_send_rp_req_pages_pending(MigrationIncomingState *mis) in migrate_send_rp_req_pages_pending() argument
2240 WITH_QEMU_LOCK_GUARD(&mis->page_request_mutex) { in migrate_send_rp_req_pages_pending()
2241 g_tree_foreach(mis->page_requested, postcopy_sync_page_req, mis); in migrate_send_rp_req_pages_pending()
2245 static int loadvm_postcopy_handle_resume(MigrationIncomingState *mis) in loadvm_postcopy_handle_resume() argument
2247 if (mis->state != MIGRATION_STATUS_POSTCOPY_RECOVER) { in loadvm_postcopy_handle_resume()
2257 mis->last_rb = NULL; in loadvm_postcopy_handle_resume()
2262 migrate_set_state(&mis->state, MIGRATION_STATUS_POSTCOPY_RECOVER, in loadvm_postcopy_handle_resume()
2268 migrate_send_rp_resume_ack(mis, MIGRATION_RESUME_ACK_VALUE); in loadvm_postcopy_handle_resume()
2282 migrate_send_rp_req_pages_pending(mis); in loadvm_postcopy_handle_resume()
2290 qemu_sem_post(&mis->postcopy_pause_sem_fault); in loadvm_postcopy_handle_resume()
2297 qemu_sem_wait(&mis->postcopy_qemufile_dst_done); in loadvm_postcopy_handle_resume()
2298 assert(mis->postcopy_qemufile_dst); in loadvm_postcopy_handle_resume()
2300 qemu_sem_post(&mis->postcopy_pause_sem_fast_load); in loadvm_postcopy_handle_resume()
2316 static int loadvm_handle_cmd_packaged(MigrationIncomingState *mis) in loadvm_handle_cmd_packaged() argument
2322 length = qemu_get_be32(mis->from_src_file); in loadvm_handle_cmd_packaged()
2332 ret = qemu_get_buffer(mis->from_src_file, in loadvm_handle_cmd_packaged()
2346 ret = qemu_loadvm_state_main(packf, mis); in loadvm_handle_cmd_packaged()
2360 static int loadvm_handle_recv_bitmap(MigrationIncomingState *mis, in loadvm_handle_recv_bitmap() argument
2363 QEMUFile *file = mis->from_src_file; in loadvm_handle_recv_bitmap()
2390 migrate_send_rp_recv_bitmap(mis, block_name); in loadvm_handle_recv_bitmap()
2397 static int loadvm_process_enable_colo(MigrationIncomingState *mis) in loadvm_process_enable_colo() argument
2418 MigrationIncomingState *mis = migration_incoming_get_current(); in loadvm_process_command() local
2447 if (mis->to_src_file) { in loadvm_process_command()
2452 mis->to_src_file = qemu_file_get_return_path(f); in loadvm_process_command()
2453 if (!mis->to_src_file) { in loadvm_process_command()
2463 if (migrate_switchover_ack() && !mis->switchover_ack_pending_num) { in loadvm_process_command()
2464 int ret = migrate_send_rp_switchover_ack(mis); in loadvm_process_command()
2477 if (!mis->to_src_file) { in loadvm_process_command()
2482 migrate_send_rp_pong(mis, tmp32); in loadvm_process_command()
2486 return loadvm_handle_cmd_packaged(mis); in loadvm_process_command()
2489 return loadvm_postcopy_handle_advise(mis, len); in loadvm_process_command()
2492 return loadvm_postcopy_handle_listen(mis); in loadvm_process_command()
2495 return loadvm_postcopy_handle_run(mis); in loadvm_process_command()
2498 return loadvm_postcopy_ram_handle_discard(mis, len); in loadvm_process_command()
2501 return loadvm_postcopy_handle_resume(mis); in loadvm_process_command()
2504 return loadvm_handle_recv_bitmap(mis, len); in loadvm_process_command()
2507 return loadvm_process_enable_colo(mis); in loadvm_process_command()
2557 qemu_loadvm_section_start_full(QEMUFile *f, MigrationIncomingState *mis, in qemu_loadvm_section_start_full() argument
2636 qemu_loadvm_section_part_end(QEMUFile *f, MigrationIncomingState *mis, in qemu_loadvm_section_part_end() argument
2726 static void qemu_loadvm_state_switchover_ack_needed(MigrationIncomingState *mis) in qemu_loadvm_state_switchover_ack_needed() argument
2736 mis->switchover_ack_pending_num++; in qemu_loadvm_state_switchover_ack_needed()
2740 trace_loadvm_state_switchover_ack_needed(mis->switchover_ack_pending_num); in qemu_loadvm_state_switchover_ack_needed()
2782 static bool postcopy_pause_incoming(MigrationIncomingState *mis) in postcopy_pause_incoming() argument
2794 migration_ioc_unregister_yank_from_file(mis->from_src_file); in postcopy_pause_incoming()
2796 assert(mis->from_src_file); in postcopy_pause_incoming()
2797 qemu_file_shutdown(mis->from_src_file); in postcopy_pause_incoming()
2798 qemu_fclose(mis->from_src_file); in postcopy_pause_incoming()
2799 mis->from_src_file = NULL; in postcopy_pause_incoming()
2801 assert(mis->to_src_file); in postcopy_pause_incoming()
2802 qemu_file_shutdown(mis->to_src_file); in postcopy_pause_incoming()
2803 qemu_mutex_lock(&mis->rp_mutex); in postcopy_pause_incoming()
2804 qemu_fclose(mis->to_src_file); in postcopy_pause_incoming()
2805 mis->to_src_file = NULL; in postcopy_pause_incoming()
2806 qemu_mutex_unlock(&mis->rp_mutex); in postcopy_pause_incoming()
2813 if (mis->postcopy_qemufile_dst) { in postcopy_pause_incoming()
2814 qemu_file_shutdown(mis->postcopy_qemufile_dst); in postcopy_pause_incoming()
2816 qemu_mutex_lock(&mis->postcopy_prio_thread_mutex); in postcopy_pause_incoming()
2817 migration_ioc_unregister_yank_from_file(mis->postcopy_qemufile_dst); in postcopy_pause_incoming()
2818 qemu_fclose(mis->postcopy_qemufile_dst); in postcopy_pause_incoming()
2819 mis->postcopy_qemufile_dst = NULL; in postcopy_pause_incoming()
2820 qemu_mutex_unlock(&mis->postcopy_prio_thread_mutex); in postcopy_pause_incoming()
2824 migrate_set_state(&mis->state, mis->state, in postcopy_pause_incoming()
2828 postcopy_fault_thread_notify(mis); in postcopy_pause_incoming()
2836 for (i = 0; i < mis->postcopy_channels; i++) { in postcopy_pause_incoming()
2837 postcopy_temp_page_reset(&mis->postcopy_tmp_pages[i]); in postcopy_pause_incoming()
2843 while (mis->state == MIGRATION_STATUS_POSTCOPY_PAUSED) { in postcopy_pause_incoming()
2844 qemu_sem_wait(&mis->postcopy_pause_sem_dst); in postcopy_pause_incoming()
2852 int qemu_loadvm_state_main(QEMUFile *f, MigrationIncomingState *mis) in qemu_loadvm_state_main() argument
2861 ret = qemu_file_get_error_obj_any(f, mis->postcopy_qemufile_dst, NULL); in qemu_loadvm_state_main()
2870 ret = qemu_loadvm_section_start_full(f, mis, section_type); in qemu_loadvm_state_main()
2877 ret = qemu_loadvm_section_part_end(f, mis, section_type); in qemu_loadvm_state_main()
2918 migrate_postcopy_ram() && postcopy_pause_incoming(mis)) { in qemu_loadvm_state_main()
2920 f = mis->from_src_file; in qemu_loadvm_state_main()
2929 MigrationIncomingState *mis = migration_incoming_get_current(); in qemu_loadvm_state() local
2948 qemu_loadvm_state_switchover_ack_needed(mis); in qemu_loadvm_state()
2953 ret = qemu_loadvm_state_main(f, mis); in qemu_loadvm_state()
2954 qemu_event_set(&mis->main_thread_load_event); in qemu_loadvm_state()
2958 if (mis->have_listen_thread) { in qemu_loadvm_state()
3010 MigrationIncomingState *mis = migration_incoming_get_current(); in qemu_load_device_state() local
3014 ret = qemu_loadvm_state_main(f, mis); in qemu_load_device_state()
3026 MigrationIncomingState *mis = migration_incoming_get_current(); in qemu_loadvm_approve_switchover() local
3028 if (!mis->switchover_ack_pending_num) { in qemu_loadvm_approve_switchover()
3032 mis->switchover_ack_pending_num--; in qemu_loadvm_approve_switchover()
3033 trace_loadvm_approve_switchover(mis->switchover_ack_pending_num); in qemu_loadvm_approve_switchover()
3035 if (mis->switchover_ack_pending_num) { in qemu_loadvm_approve_switchover()
3039 return migrate_send_rp_switchover_ack(mis); in qemu_loadvm_approve_switchover()
3262 MigrationIncomingState *mis = migration_incoming_get_current(); in load_snapshot() local
3317 mis->from_src_file = f; in load_snapshot()