Wei Yang <richardw.y...@linux.intel.com> wrote: > On Wed, May 15, 2019 at 02:15:42PM +0200, Juan Quintela wrote: >>+ >>+MultifdMethods multifd_none_ops = { >>+ .send_prepare = none_send_prepare, >>+ .send_write = none_send_write, >>+ .recv_pages = none_recv_pages >>+}; >>+ >> static int multifd_send_initial_packet(MultiFDSendParams *p, Error **errp) >> { >> MultiFDInit_t msg; >>@@ -904,6 +938,8 @@ struct { >> uint64_t packet_num; >> /* send channels ready */ >> QemuSemaphore channels_ready; >>+ /* multifd ops */ >>+ MultifdMethods *ops; >> } *multifd_send_state; >> >> /* >>@@ -1093,6 +1129,8 @@ static void *multifd_send_thread(void *opaque) >> /* initial packet */ >> p->num_packets = 1; >> >>+ multifd_send_state->ops = &multifd_none_ops; >>+ > > I am afraid it is not a good practice to assign ops when each thread starts > work.
Agreed. Thanks, Juan.