qemu-block
[Top][All Lists]
Advanced

[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



reply via email to

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