From: Jens Axboe <axboe@fb.com>
To: Dave Chinner <david@fromorbit.com>
Cc: <linux-kernel@vger.kernel.org>, <linux-fsdevel@vger.kernel.org>,
<linux-block@vger.kernel.org>
Subject: Re: [PATCHSET v3][RFC] Make background writeback not suck
Date: Thu, 31 Mar 2016 10:21:04 -0600 [thread overview]
Message-ID: <56FD4E70.3090203@fb.com> (raw)
In-Reply-To: <56FD344F.70908@fb.com>
On 03/31/2016 08:29 AM, Jens Axboe wrote:
>> What I see in these performance dips is the XFS transaction
>> subsystem stalling *completely* - instead of running at a steady
>> state of around 350,000 transactions/s, there are *zero*
>> transactions running for periods of up to ten seconds. This
>> co-incides with the CPU usage falling to almost zero as well.
>> AFAICT, the only thing that is running when the filesystem stalls
>> like this is memory reclaim.
>
> I'll take a look at this, stalls should definitely not be occurring. How
> much memory does the box have?
I can't seem to reproduce this at all. On an nvme device, I get a fairly
steady 60K/sec file creation rate, and we're nowhere near being IO
bound. So the throttling has no effect at all.
On a raid0 on 4 flash devices, I get something that looks more IO bound,
for some reason. Still no impact of the throttling, however. But given
that your setup is this:
virtio in guest, XFS direct IO -> no-op -> scsi in host.
we do potentially have two throttling points, which we don't want. Is
both the guest and the host running the new code, or just the guest?
In any case, can I talk you into trying with two patches on top of the
current code? It's the two newest patches here:
http://git.kernel.dk/cgit/linux-block/log/?h=wb-buf-throttle
The first treats REQ_META|REQ_PRIO like they should be treated, like
high priority IO. The second disables throttling for virtual devices, so
we only throttle on the backend. The latter should probably be the other
way around, but we need some way of conveying that information to the
backend.
--
Jens Axboe
next prev parent reply other threads:[~2016-03-31 16:21 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-30 15:07 [PATCHSET v3][RFC] Make background writeback not suck Jens Axboe
2016-03-30 15:07 ` [PATCH 1/9] writeback: propagate the various reasons for writeback Jens Axboe
2016-03-30 15:07 ` [PATCH 2/9] writeback: add wbc_to_write() Jens Axboe
2016-03-30 15:07 ` [PATCH 3/9] writeback: use WRITE_SYNC for reclaim or sync writeback Jens Axboe
2016-03-30 15:07 ` [PATCH 4/9] writeback: track if we're sleeping on progress in balance_dirty_pages() Jens Axboe
2016-04-13 13:08 ` Jan Kara
2016-04-13 14:20 ` Jens Axboe
2016-03-30 15:07 ` [PATCH 5/9] block: add ability to flag write back caching on a device Jens Axboe
2016-03-30 15:42 ` Christoph Hellwig
2016-03-30 15:46 ` Jens Axboe
2016-03-30 16:23 ` Jens Axboe
2016-03-30 17:29 ` Christoph Hellwig
2016-03-30 15:07 ` [PATCH 6/9] sd: inform block layer of write cache state Jens Axboe
2016-03-30 15:07 ` [PATCH 7/9] NVMe: " Jens Axboe
2016-03-30 15:07 ` [PATCH 8/9] block: add code to track actual device queue depth Jens Axboe
2016-03-30 15:07 ` [PATCH 9/9] writeback: throttle buffered writeback Jens Axboe
2016-03-31 8:24 ` [PATCHSET v3][RFC] Make background writeback not suck Dave Chinner
2016-03-31 14:29 ` Jens Axboe
2016-03-31 16:21 ` Jens Axboe [this message]
2016-04-01 0:56 ` Dave Chinner
2016-04-01 3:29 ` Jens Axboe
2016-04-01 3:33 ` Jens Axboe
2016-04-01 3:39 ` Jens Axboe
2016-04-01 6:16 ` Dave Chinner
2016-04-01 14:33 ` Jens Axboe
2016-04-01 5:04 ` Dave Chinner
2016-04-01 0:46 ` Dave Chinner
2016-04-01 3:25 ` Jens Axboe
2016-04-01 6:27 ` Dave Chinner
2016-04-01 14:34 ` Jens Axboe
2016-03-31 22:09 ` Holger Hoffstätte
2016-04-01 1:01 ` Dave Chinner
2016-04-01 16:58 ` Holger Hoffstätte
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=56FD4E70.3090203@fb.com \
--to=axboe@fb.com \
--cc=david@fromorbit.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).