[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1 |
Date: |
Tue, 16 May 2017 16:08:50 +0100 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Thu, May 11, 2017 at 04:41:50PM +0200, Paolo Bonzini wrote:
> This series uses mutexes or atomic operations around core block layer
> operations. The remaining parts include:
>
> I've removed the failing assertion in bdrv_aligned_pwritev in order to
> test block migration.
>
> Paolo
>
> v1->v2: add missing comment for 'wakeup' member [Fam]
> rewrite throttle-groups part [Stefan]
> rename ThrottleState CoMutex [Fam]
> minor stats64 changes [Fam, Roman, me]
> fixed bdrv_flush [Fam, me]
> dropped request spinlock optimization for now [Stefan]
> avoid global dirty bitmap mutex [Fam]
> avoid introducing unlocked bdrv_get_dirty API [Stefan]
> replaced spinlock with mutex for accounting [Stefan]
>
>
> Paolo Bonzini (18):
> block: access copy_on_read with atomic ops
> block: access quiesce_counter with atomic ops
> block: access io_limits_disabled with atomic ops
> block: access serialising_in_flight with atomic ops
> block: access wakeup with atomic ops
> block: access io_plugged with atomic ops
> throttle-groups: only start one coroutine from drained_begin
> throttle-groups: do not use qemu_co_enter_next
> throttle-groups: protect throttled requests with a CoMutex
> util: add stats64 module
> block: use Stat64 for wr_highest_offset
> block: access write_gen with atomics
> block: protect tracked_requests and flush_queue with reqs_lock
> block: introduce dirty_bitmap_mutex
> migration/block: reset dirty bitmap before reading
> block: protect modification of dirty bitmaps with a mutex
> block: introduce block_account_one_io
> block: make accounting thread-safe
>
> block.c | 9 +-
> block/accounting.c | 64 ++++++++------
> block/block-backend.c | 5 +-
> block/dirty-bitmap.c | 112 ++++++++++++++++++++++--
> block/io.c | 51 ++++++-----
> block/mirror.c | 14 ++-
> block/nfs.c | 4 +-
> block/qapi.c | 2 +-
> block/sheepdog.c | 3 +-
> block/throttle-groups.c | 91 ++++++++++++++-----
> blockdev.c | 46 ++--------
> include/block/accounting.h | 8 +-
> include/block/block.h | 5 +-
> include/block/block_int.h | 61 ++++++++-----
> include/block/dirty-bitmap.h | 25 ++++--
> include/qemu/stats64.h | 193
> +++++++++++++++++++++++++++++++++++++++++
> include/sysemu/block-backend.h | 10 +--
> migration/block.c | 17 ++--
> util/Makefile.objs | 1 +
> util/stats64.c | 136 +++++++++++++++++++++++++++++
> 20 files changed, 679 insertions(+), 178 deletions(-)
> create mode 100644 include/qemu/stats64.h
> create mode 100644 util/stats64.c
>
> --
> 2.12.2
>
Reviewed-by: Stefan Hajnoczi <address@hidden>
signature.asc
Description: PGP signature
- Re: [Qemu-devel] [PATCH 18/18] block: make accounting thread-safe, (continued)
- [Qemu-devel] [PATCH 17/18] block: introduce block_account_one_io, Paolo Bonzini, 2017/05/11
- [Qemu-devel] [PATCH 16/18] block: protect modification of dirty bitmaps with a mutex, Paolo Bonzini, 2017/05/11
- Re: [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1, no-reply, 2017/05/11
- Re: [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1, no-reply, 2017/05/11
- Re: [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1,
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1, Paolo Bonzini, 2017/05/24