From: Paolo Bonzini <pbonzini@redhat.com>
To: Fam Zheng <famz@redhat.com>
Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 03/16] block: introduce bdrv_no_throttling_begin/end
Date: Wed, 9 Mar 2016 08:40:54 +0100 [thread overview]
Message-ID: <56DFD386.4090100@redhat.com> (raw)
In-Reply-To: <20160309014546.GC17947@ad.usersys.redhat.com>
On 09/03/2016 02:45, Fam Zheng wrote:
>> > @@ -555,11 +574,7 @@ static int bdrv_prwv_co(BlockDriverState *bs, int64_t offset,
>> > * will not fire; so the I/O throttling function has to be disabled here
>> > * if it has been enabled.
>> > */
>> > - if (bs->io_limits_enabled) {
>> > - fprintf(stderr, "Disabling I/O throttling on '%s' due "
>> > - "to synchronous I/O.\n", bdrv_get_device_name(bs));
>> > - bdrv_io_limits_disable(bs);
>> > - }
>> > + bdrv_no_throttling_begin(bs);
>> >
>> > if (qemu_in_coroutine()) {
>> > /* Fast-path if already in coroutine context */
>> > @@ -573,6 +588,8 @@ static int bdrv_prwv_co(BlockDriverState *bs, int64_t offset,
>> > aio_poll(aio_context, true);
>> > }
>> > }
>> > +
>> > + bdrv_no_throttling_end(bs);
>
> Does this change the behavior? There wasn't a bdrv_io_limits_enable() here, and
> the throttle doesn't come back automatically. Just want to make sure it's
> intended.
Yes, it's intended. As long as the I/O stays synchronous, throttling is
disabled. If it starts to be asynchronous, it will be re-enabled
automatically.
Paolo
next prev parent reply other threads:[~2016-03-09 7:41 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-16 17:56 [Qemu-devel] [PATCH 00/16] AioContext fine-grained locking, part 1 of 3, including bdrv_drain rewrite Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 01/16] block: make bdrv_start_throttled_reqs return void Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 02/16] block: move restarting of throttled reqs to block/throttle-groups.c Paolo Bonzini
2016-03-09 1:26 ` Fam Zheng
2016-03-09 7:37 ` Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 03/16] block: introduce bdrv_no_throttling_begin/end Paolo Bonzini
2016-03-09 1:45 ` Fam Zheng
2016-03-09 7:40 ` Paolo Bonzini [this message]
2016-02-16 17:56 ` [Qemu-devel] [PATCH 04/16] block: plug whole tree at once, introduce bdrv_io_unplugged_begin/end Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 05/16] mirror: use bottom half to re-enter coroutine Paolo Bonzini
2016-03-09 3:19 ` Fam Zheng
2016-03-09 7:41 ` Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 06/16] block: add BDS field to count in-flight requests Paolo Bonzini
2016-03-09 3:35 ` Fam Zheng
2016-03-09 7:43 ` Paolo Bonzini
2016-03-09 8:00 ` Fam Zheng
2016-03-09 8:22 ` Paolo Bonzini
2016-03-09 8:33 ` Fam Zheng
2016-02-16 17:56 ` [Qemu-devel] [PATCH 07/16] block: change drain to look only at one child at a time Paolo Bonzini
2016-03-09 3:41 ` Fam Zheng
2016-03-09 7:49 ` Paolo Bonzini
2016-03-16 16:39 ` Stefan Hajnoczi
2016-03-16 17:41 ` Paolo Bonzini
2016-03-17 0:57 ` Fam Zheng
2016-02-16 17:56 ` [Qemu-devel] [PATCH 08/16] blockjob: introduce .drain callback for jobs Paolo Bonzini
2016-03-16 17:56 ` Stefan Hajnoczi
2016-02-16 17:56 ` [Qemu-devel] [PATCH 09/16] block: wait for all pending I/O when doing synchronous requests Paolo Bonzini
2016-03-09 8:13 ` Fam Zheng
2016-03-09 8:23 ` Paolo Bonzini
2016-03-16 18:04 ` Stefan Hajnoczi
2016-02-16 17:56 ` [Qemu-devel] [PATCH 10/16] nfs: replace aio_poll with bdrv_drain Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 11/16] sheepdog: disable dataplane Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 12/16] aio: introduce aio_context_in_iothread Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 13/16] block: only call aio_poll from iothread Paolo Bonzini
2016-03-09 8:30 ` Fam Zheng
2016-03-09 8:55 ` Paolo Bonzini
2016-03-09 9:10 ` Paolo Bonzini
2016-03-09 9:27 ` Fam Zheng
2016-02-16 17:56 ` [Qemu-devel] [PATCH 14/16] iothread: release AioContext around aio_poll Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 15/16] qemu-thread: introduce QemuRecMutex Paolo Bonzini
2016-02-16 17:56 ` [Qemu-devel] [PATCH 16/16] aio: convert from RFifoLock to QemuRecMutex Paolo Bonzini
2016-03-08 17:51 ` [Qemu-devel] [PATCH 00/16] AioContext fine-grained locking, part 1 of 3, including bdrv_drain rewrite Paolo Bonzini
2016-03-09 8:46 ` Fam Zheng
2016-03-16 18:18 ` Stefan Hajnoczi
2016-03-16 22:29 ` Paolo Bonzini
2016-03-17 13:44 ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2016-03-17 13:48 ` Paolo Bonzini
2016-03-18 15:49 ` Stefan Hajnoczi
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=56DFD386.4090100@redhat.com \
--to=pbonzini@redhat.com \
--cc=famz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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.