Paolo Bonzini <pbonz...@redhat.com> wrote:
> Il 18/10/2012 09:30, Juan Quintela ha scritto:
>> -        if (s->migration_state->complete) {
>> +        qemu_mutex_lock_iothread();
>
> So, was it a bug that we were accessing ->complete without the BQL?
>
>> +        if (m->state != MIG_STATE_ACTIVE) {
>> +            DPRINTF("put_ready returning because of non-active state\n");
>
> The contents of the debug message obsolete.  Besides, I would just put
> the two branches in the same "if (m->state != MIG_STATE_ACTIVE ||
> m->complete)".

BQL is not needed.  Complete is only used by the migration thread.  but
maintaing it outside of the iothread lock, makes locking even more complicated.

>
>> +            qemu_mutex_unlock_iothread();
>>              break;
>>          }
>> +        if (m->complete) {
>> +            qemu_mutex_unlock_iothread();
>> +            break;
>> +        }
>> +        qemu_mutex_unlock_iothread();
>> +
>
> Paolo

Reply via email to