On Friday, May 19, 2023 9:31 AM, Wang, Lei4 wrote: > 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. >
We can change it to uint16_t or uint32_t, but need to see if listening on a larger value is OK to everyone. Man page of listen mentions that the maximum length of the queue for incomplete sockets can be set using /proc/sys/net/ipv4/tcp_max_syn_backlog, and it is 4096 by default on my machine.