On 2020/11/3 17:29, Daniel Berrange wrote:
> This looks to me like a significant implementation flaw in the QEMU
> code. Both src and dst QEMU appear to be running code from the main
> event loop, and they appear to be doing blocking I/O operations. This is
> very bad as we should never have anything running in the main event loop
> thread that is able to block on I/O.
>
Well, the tls handshake seems to be blocking I/O.
> So to solve this something needs to be done to make sure the I/O is
> either non-blocking, or if it has to be blocking, then it needs to be
> offloaded to a background thread.
>
Yes, i agree.
Since we do multifd tls handshake in main thread through multifd_save_setup(),
maybe
we need to make socket_send_channel_create() to be a background thread other
than qio_channel_socket_connect_async()?
Besides,the hang problem itself still need to be figured out and solved...
--
Regards.
Chuan