On 19/01/2018 13:25, Pavel Dovgalyuk wrote:
>>> It means, that I'll have to fix all the has_work function to avoid races,
>>> because x86_cpu_has_work may have them?
>> Why only x86_cpu_has_work?
>>
>> Even reading cs->interrupt_request outside the mutex is unsafe.
> All the vcpu function that access interrupt controller or peripheral state 
> may be unsafe?
> How can it work safely then?

They do it inside the big QEMU lock.  But here you're calling
cpu_has_work (via all_cpu_threads_idle) outside the lock.

Paolo

Reply via email to