All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, famz@redhat.com, qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1
Date: Tue, 16 May 2017 16:08:50 +0100	[thread overview]
Message-ID: <20170516150850.GQ8498@stefanha-x1.localdomain> (raw)
In-Reply-To: <20170511144208.24075-1-pbonzini@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2991 bytes --]

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 <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

  parent reply	other threads:[~2017-05-16 15:09 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-11 14:41 [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1 Paolo Bonzini
2017-05-11 14:41 ` [Qemu-devel] [PATCH 01/18] block: access copy_on_read with atomic ops Paolo Bonzini
2017-05-16 13:34   ` Stefan Hajnoczi
2017-05-11 14:41 ` [Qemu-devel] [PATCH 02/18] block: access quiesce_counter " Paolo Bonzini
2017-05-12  7:56   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-11 14:41 ` [Qemu-devel] [PATCH 03/18] block: access io_limits_disabled " Paolo Bonzini
2017-05-18 12:25   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-11 14:41 ` [Qemu-devel] [PATCH 04/18] block: access serialising_in_flight " Paolo Bonzini
2017-05-11 14:41 ` [Qemu-devel] [PATCH 05/18] block: access wakeup " Paolo Bonzini
2017-05-16 13:48   ` Stefan Hajnoczi
2017-05-11 14:41 ` [Qemu-devel] [PATCH 06/18] block: access io_plugged " Paolo Bonzini
2017-05-11 16:10   ` Eric Blake
2017-05-11 14:41 ` [Qemu-devel] [PATCH 07/18] throttle-groups: only start one coroutine from drained_begin Paolo Bonzini
2017-05-16 13:54   ` Stefan Hajnoczi
2017-05-17 21:50   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-11 14:41 ` [Qemu-devel] [PATCH 08/18] throttle-groups: do not use qemu_co_enter_next Paolo Bonzini
2017-05-16 14:44   ` Stefan Hajnoczi
2017-05-18 11:56   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-11 14:41 ` [Qemu-devel] [PATCH 09/18] throttle-groups: protect throttled requests with a CoMutex Paolo Bonzini
2017-05-16 14:47   ` Stefan Hajnoczi
2017-05-18 12:06   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-18 12:08     ` Paolo Bonzini
2017-05-18 12:19       ` Alberto Garcia
2017-05-11 14:42 ` [Qemu-devel] [PATCH 10/18] util: add stats64 module Paolo Bonzini
2017-05-16 14:47   ` Stefan Hajnoczi
2017-05-11 14:42 ` [Qemu-devel] [PATCH 11/18] block: use Stat64 for wr_highest_offset Paolo Bonzini
2017-05-11 14:42 ` [Qemu-devel] [PATCH 12/18] block: access write_gen with atomics Paolo Bonzini
2017-05-11 14:42 ` [Qemu-devel] [PATCH 13/18] block: protect tracked_requests and flush_queue with reqs_lock Paolo Bonzini
2017-05-16 14:50   ` Stefan Hajnoczi
2017-05-11 14:42 ` [Qemu-devel] [PATCH 14/18] block: introduce dirty_bitmap_mutex Paolo Bonzini
2017-05-16 14:55   ` Stefan Hajnoczi
2017-05-11 14:42 ` [Qemu-devel] [PATCH 15/18] migration/block: reset dirty bitmap before reading Paolo Bonzini
2017-05-16 15:03   ` Stefan Hajnoczi
2017-05-11 14:42 ` [Qemu-devel] [PATCH 16/18] block: protect modification of dirty bitmaps with a mutex Paolo Bonzini
2017-05-16 15:05   ` Stefan Hajnoczi
2017-05-11 14:42 ` [Qemu-devel] [PATCH 17/18] block: introduce block_account_one_io Paolo Bonzini
2017-05-16 15:07   ` Stefan Hajnoczi
2017-05-18 12:09   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-25  7:28   ` [Qemu-devel] " Fam Zheng
2017-05-11 14:42 ` [Qemu-devel] [PATCH 18/18] block: make accounting thread-safe Paolo Bonzini
2017-05-16 15:08   ` Stefan Hajnoczi
2017-05-18 12:16   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-11 18:21 ` [Qemu-devel] [PATCH v2 00/18] Block layer thread safety, part 1 no-reply
2017-05-11 19:24 ` no-reply
2017-05-16 15:08 ` Stefan Hajnoczi [this message]
2017-05-24  8:32 ` Paolo Bonzini
2017-05-25  7:40   ` Fam Zheng
2017-05-25  9:14     ` [Qemu-devel] [Qemu-block] " Paolo Bonzini
2017-05-25 16:17     ` [Qemu-devel] " Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170516150850.GQ8498@stefanha-x1.localdomain \
    --to=stefanha@redhat.com \
    --cc=famz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.