[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 5/5] multifd: Use number of channels as listen backlog
From: |
Juan Quintela |
Subject: |
Re: [PULL 5/5] multifd: Use number of channels as listen backlog |
Date: |
Fri, 11 Oct 2019 12:40:03 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Wei Yang <address@hidden> wrote:
> On Wed, Sep 04, 2019 at 08:29:15AM +0200, Juan Quintela wrote:
>>Reviewed-by: Daniel P. Berrangé <address@hidden>
>>Signed-off-by: Juan Quintela <address@hidden>
>>---
>> migration/socket.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>>diff --git a/migration/socket.c b/migration/socket.c
>>index e63f5e1612..97c9efde59 100644
>>--- a/migration/socket.c
>>+++ b/migration/socket.c
>>@@ -178,10 +178,15 @@ static void
>>socket_start_incoming_migration(SocketAddress *saddr,
>> {
>> QIONetListener *listener = qio_net_listener_new();
>> size_t i;
>>+ int num = 1;
>>
>> qio_net_listener_set_name(listener, "migration-socket-listener");
>>
>>- if (qio_net_listener_open_sync(listener, saddr, 1, errp) < 0) {
>>+ if (migrate_use_multifd()) {
>>+ num = migrate_multifd_channels();
>>+ }
>>+
>>+ if (qio_net_listener_open_sync(listener, saddr, num, errp) < 0) {
>> object_unref(OBJECT(listener));
>> return;
>> }
>
> My confusion is this function is called at the beginning of the program, which
> means we didn't set multifd on or change the multifd channel parameter.
>
> They are the default value at this point.
>
> Am I right?
Hi
good catch!
You are right. The fix worked for me because I always use on the
command line:
--global migration.multifd-channels=10
or whatever number I want to avoid typing. I can only see two
solutions:
- increase the number always
- require "defer" when using multifd to be able to setup parameters.
Any other good ideas?
Thanks, Juan.
PD. I was having problem reproducing this issue because I use the
command line for the parameter.