[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v2 10/11] tcg: drop global lock during TCG code ex
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC v2 10/11] tcg: drop global lock during TCG code execution |
Date: |
Wed, 25 May 2016 14:46:42 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 |
On 25/05/2016 13:07, Alex Bennée wrote:
>>>> + * If called from generated code, iothread mutex must not be held.
>>>
>>> What does that mean? If iothread mutex is not required by the function
>>> then why mention it here at all?
>>
>> If this function can take the iothread mutex itself, this would cause a
>> deadlock. I'm not sure if it could though.
>>
>> Another possibility is that this function can longjmp out into cpu_exec,
>> and then the iothread mutex would not be released. I think this is more
>> likely.
>
> Any longjmp should:
>
> tb_lock_reset();
> if (qemu_mutex_iothread_locked()) {
> qemu_mutex_unlock_iothread();
> }
>
> To reset the locks.
>
Ok, so I think these comments are stale, dating to before you added the
unlock_iothread in the sigsetjmp else.
Thanks,
Paolo