Please discard this thread, I had an issue with git send-email and patch
3-5 are missing.
Thank you,
Emanuele
On 14/06/2021 10:08, 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
>
> 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
>