This is the first step towards having fine-grained critical sections in
dataplane threads, which resolves lock ordering problems between
address_space_* functions (which need the BQL when doing MMIO, even
after we complete RCU-based dispatch) and the AioContext.
Because AioContext does not use con
This is the first step towards having fine-grained critical sections in
dataplane threads, which resolves lock ordering problems between
address_space_* functions (which need the BQL when doing MMIO, even
after we complete RCU-based dispatch) and the AioContext.
Because AioContext does not use con
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 05/02/2016 18:51, Stefan Hajnoczi wrote:
>> Because this is a file descriptor source, there is really no
>> difference between the code's behavior, no matter if aio_poll
>> starts before or after the event_notifier_set. The test passes
>> ev
On Wed, Feb 03, 2016 at 10:52:38AM +0100, Paolo Bonzini wrote:
>
>
> On 03/02/2016 10:34, Stefan Hajnoczi wrote:
> > +g_usleep(50);
> > Sleep?
> >>>
> >>> What about it? :)
> > Sleep in a loop is inefficient but at least correct.
> >
> > A sleep outside a loop is a race cond
On 03/02/2016 10:34, Stefan Hajnoczi wrote:
> +g_usleep(50);
> Sleep?
>>>
>>> What about it? :)
> Sleep in a loop is inefficient but at least correct.
>
> A sleep outside a loop is a race condition. If the machine is
> heavily loaded, whatever you are waiting for may not ha
On Tue, Feb 02, 2016 at 04:01:55PM +0100, Paolo Bonzini wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
>
>
>
> On 02/02/2016 15:52, Stefan Hajnoczi wrote:
> >>> @@ -110,6 +111,8 @@ static void *test_acquire_thread(void
> >>> *opaque) qemu_mutex_lock(&data->start_lock);
> >>> qemu_mu
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 02/02/2016 15:52, Stefan Hajnoczi wrote:
>>> @@ -110,6 +111,8 @@ static void *test_acquire_thread(void
>>> *opaque) qemu_mutex_lock(&data->start_lock);
>>> qemu_mutex_unlock(&data->start_lock);
>>>
>>> +g_usleep(50);
> Sleep?
What abo
On Fri, Jan 15, 2016 at 04:12:08PM +0100, Paolo Bonzini wrote:
> @@ -120,9 +117,17 @@ Block layer code must therefore expect to run in an
> IOThread and avoid using
> old APIs that implicitly use the main loop. See the "How to program for
> IOThreads" above for information on how to do that.
>
This is the first step towards having fine-grained critical sections in
dataplane threads, which resolves lock ordering problems between
address_space_* functions (which need the BQL when doing MMIO, even
after we complete RCU-based dispatch) and the AioContext.
Because AioContext does not use con