On 14/02/2017 14:12, Juan Quintela wrote:
>> On 13/02/2017 18:19, Juan Quintela wrote:
>>> +        qemu_sem_init(&p->init, 0);
>>>          p->quit = false;
>>> +        p->c = socket_send_channel_create();
>>> +        if (!p->c) {
>>> +            error_report("Error creating a send channel");
>>> +            exit(0);
>>> +        }
>>>          snprintf(thread_name, 15, "multifd_send_%d", i);
>>>          qemu_thread_create(&p->thread, thread_name, multifd_send_thread, p,
>>>                             QEMU_THREAD_JOINABLE);
>>> +        qemu_sem_wait(&p->init);
>> Why do you need p->init here?  Could initialization proceed in parallel
>> for all the threads?
>
> We need to make sure that the send thread number 2 goes to thread number
> 2 on destination.  Yes, we could do a more complicated algorithm, but we
> really care so much about this initialization time?

I was wondering if p->init was needed in general, so it would simplify.
But without a design document I cannot really understand the logic---as
I said, I don't really grok the need for RAM_SAVE_FLAG_MULTIFD_PAGE.

Paolo

Reply via email to