[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.11] tests-aio-multithread: fix /aio/multi/
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH for-2.11] tests-aio-multithread: fix /aio/multi/schedule race condition |
Date: |
Tue, 7 Nov 2017 15:41:44 +0000 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Mon, Nov 06, 2017 at 07:02:33PM +0000, Stefan Hajnoczi wrote:
> test_multi_co_schedule_entry() set to_schedule[id] in the final loop
> iteration before terminating the coroutine. There is a race condition
> where the main thread attempts to enter the terminating or terminated
> coroutine when signalling coroutines to stop:
>
> atomic_mb_set(&now_stopping, true);
> for (i = 0; i < NUM_CONTEXTS; i++) {
> ctx_run(i, finish_cb, NULL); <--- enters dead coroutine!
> to_schedule[i] = NULL;
> }
>
> Make sure only to set to_schedule[id] if this coroutine really needs to
> be scheduled!
>
> Reported-by: "R.Nageswara Sastry" <address@hidden>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
> This patch is appropriate for the QEMU 2.11 release to eliminate
> spurious test failures.
>
> tests/test-aio-multithread.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block
Stefan
signature.asc
Description: PGP signature