[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v8 16/20] jobs: protect job.aio_context with BQL and job_mute
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v8 16/20] jobs: protect job.aio_context with BQL and job_mutex |
Date: |
Tue, 5 Jul 2022 13:44:09 +0100 |
On Wed, Jun 29, 2022 at 10:15:34AM -0400, Emanuele Giuseppe Esposito wrote:
> In order to make it thread safe, implement a "fake rwlock",
> where we allow reads under BQL *or* job_mutex held, but
> writes only under BQL *and* job_mutex.
>
> The only write we have is in child_job_set_aio_ctx, which always
> happens under drain (so the job is paused).
> For this reason, introduce job_set_aio_context and make sure that
> the context is set under BQL, job_mutex and drain.
> Also make sure all other places where the aiocontext is read
> are protected.
>
> Note: at this stage, job_{lock/unlock} and job lock guard macros
> are *nop*.
>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
> block/replication.c | 6 ++++--
> blockjob.c | 3 ++-
> include/qemu/job.h | 19 ++++++++++++++++++-
> job.c | 12 ++++++++++++
> 4 files changed, 36 insertions(+), 4 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v8 16/20] jobs: protect job.aio_context with BQL and job_mutex,
Stefan Hajnoczi <=