qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH v3 0/5] block-copy: make helper APIs thread safe


From: Emanuele Giuseppe Esposito
Subject: Re: [PATCH v3 0/5] block-copy: make helper APIs thread safe
Date: Mon, 14 Jun 2021 10:17:04 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1



On 14/06/2021 10:11, Emanuele Giuseppe Esposito wrote:
This serie of patches bring thread safety to the smaller APIs used by
block-copy, namely ratelimit, progressmeter, co-shared-resource
and aiotask.
The end goal is to reduce the usage of AioContexlock in block-copy,
by introducing smaller granularity locks thus on making the block layer
thread safe.

What's missing for block-copy to be fully thread-safe is fixing
the CoSleep API to allow cross-thread sleep and wakeup.
Paolo is working on it and will post the patches once his new
CoSleep API is accepted.

Patches 1-3 work on ratelimit, 4 covers progressmeter and
5 co-shared-resources.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
v3:
* Rebase on current master (had conflicts in block-copy), remove based-on in
   cover letter

Hi Kevin & Max,

I think this series ha been reviewed and I just rebased it to current master. Can you give it a look and let me know if it can be merged?

Thank you,
Emanuele


Emanuele Giuseppe Esposito (2):
   progressmeter: protect with a mutex
   co-shared-resource: protect with a mutex

Paolo Bonzini (3):
   ratelimit: treat zero speed as unlimited
   block-copy: let ratelimit handle a speed of 0
   blockjob: let ratelimit handle a speed of 0

  block/block-copy.c                | 28 ++++++--------
  block/meson.build                 |  1 +
  block/progress_meter.c            | 64 +++++++++++++++++++++++++++++++
  blockjob.c                        | 46 +++++++++++++---------
  include/qemu/co-shared-resource.h |  4 +-
  include/qemu/progress_meter.h     | 34 ++++++++--------
  include/qemu/ratelimit.h          | 12 +++++-
  job-qmp.c                         |  8 +++-
  job.c                             |  3 ++
  qemu-img.c                        |  9 +++--
  util/qemu-co-shared-resource.c    | 24 +++++++++---
  11 files changed, 168 insertions(+), 65 deletions(-)
  create mode 100644 block/progress_meter.c





reply via email to

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