[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v2 00/18] Block layer thread safety, part 1
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-block] [PATCH v2 00/18] Block layer thread safety, part 1 |
Date: |
Wed, 24 May 2017 10:32:18 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 11/05/2017 16:41, 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
>
Ping?
Paolo
- Re: [Qemu-block] [PATCH 17/18] block: introduce block_account_one_io, (continued)
- [Qemu-block] [PATCH 18/18] block: make accounting thread-safe, Paolo Bonzini, 2017/05/11
- [Qemu-block] [PATCH 16/18] block: protect modification of dirty bitmaps with a mutex, Paolo Bonzini, 2017/05/11
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1, no-reply, 2017/05/11
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1, no-reply, 2017/05/11
- Re: [Qemu-block] [PATCH v2 00/18] Block layer thread safety, part 1, Stefan Hajnoczi, 2017/05/16
- Re: [Qemu-block] [PATCH v2 00/18] Block layer thread safety, part 1,
Paolo Bonzini <=