On 13/02/2017 18:19, Juan Quintela wrote: > case RAM_SAVE_FLAG_MULTIFD_PAGE: > + fd_num = qemu_get_be16(f); > + multifd_recv_page(host, fd_num); > qemu_get_buffer(f, host, TARGET_PAGE_SIZE); > break;
Why do you need RAM_SAVE_FLAG_MULTIFD_PAGE? I understand the orchestration of sent pages from a single thread, but could the receive threads proceed independently, each reading its own socket? They do not even need to tell the central thread "I'm done" (they can do so just by exiting, and the central thread does qemu_thread_join when it sees the marker for end of live data). Paolo