qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH v4 13/23] cpus: only take BQL for sleeping t


From: Pavel Dovgalyuk
Subject: Re: [Qemu-devel] [RFC PATCH v4 13/23] cpus: only take BQL for sleeping threads
Date: Fri, 19 Jan 2018 15:36:50 +0300

> From: Paolo Bonzini [mailto:address@hidden
> Sent: Friday, January 19, 2018 3:26 PM
> To: Pavel Dovgalyuk; 'Pavel Dovgalyuk'; address@hidden
> Cc: address@hidden; address@hidden; address@hidden; address@hidden;
> address@hidden; address@hidden; address@hidden; address@hidden;
> address@hidden; address@hidden
> Subject: Re: [RFC PATCH v4 13/23] cpus: only take BQL for sleeping threads
> 
> 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.  

Right. Without these patches.
They are within the replay lock. And BQL is not covering vcpu execution with 
these patches.
Therefore RR will be ok and regular execution may encounter races?
It means that I missed something in Alex ideas, because he prepared the initial 
patches.

> But here you're calling cpu_has_work (via all_cpu_threads_idle) outside the 
> lock.

Yes, I see, but what we have to do?

Pavel Dovgalyuk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]