On 5/18/2023 17:16, Juan Quintela wrote: > Lei Wang <lei4.w...@intel.com> wrote: >> When destination VM is launched, the "backlog" parameter for listen() is set >> to 1 as default in socket_start_incoming_migration_internal(), which will >> lead to socket connection error (the queue of pending connections is full) >> when "multifd" and "multifd-channels" are set later on and a high number of >> channels are used. Set it to a hard-coded higher default value 512 to fix >> this issue. >> >> Reported-by: Wei Wang <wei.w.w...@intel.com> >> Signed-off-by: Lei Wang <lei4.w...@intel.com> > > [cc'd daiel who is the maintainer of qio] > > My understanding of that value is that 230 or something like that would > be more than enough. The maxiimum number of multifd channels is 256.
You are right, the "multifd-channels" expects uint8_t, so 256 is enough. > > Daniel, any opinion? > > Later, Juan. > >> --- >> migration/socket.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/migration/socket.c b/migration/socket.c >> index 1b6f5baefb..b43a66ef7e 100644 >> --- a/migration/socket.c >> +++ b/migration/socket.c >> @@ -179,7 +179,7 @@ socket_start_incoming_migration_internal(SocketAddress >> *saddr, >> QIONetListener *listener = qio_net_listener_new(); >> MigrationIncomingState *mis = migration_incoming_get_current(); >> size_t i; >> - int num = 1; >> + int num = 512; >> >> qio_net_listener_set_name(listener, "migration-socket-listener"); >