From: Vojtech Pavlik <vojtech@suse.com>
To: Michael Lyle <mlyle@lyle.org>
Cc: linux-bcache@vger.kernel.org,
Kent Overstreet <kent.overstreet@gmail.com>
Subject: Re: Writeback efficiency -- proposal
Date: Wed, 20 Sep 2017 10:08:59 +0200 [thread overview]
Message-ID: <20170920080859.GA15880@suse.com> (raw)
In-Reply-To: <CAJ+L6qe6=KTXFhss5rfa7g=UCMhp6wwCQ+qL_YZDJq+vWn=PNA@mail.gmail.com>
On Wed, Sep 20, 2017 at 01:01:47AM -0700, Michael Lyle wrote:
> Hey everyone---
>
> Right now writeback is pretty inefficient. It lowers the seek
> workload some on the disk by doing things in ascending-LBA order, but
> there is no prioritization of writing back larger blocks (that is,
> doing larger sequential IOs).
On RAID devices, bcache attempts writing out full RAID stripes, avoiding
the issue you describe.
It might make sense to extend that logic to non-striped devices, too.
> At the same time, there is no on-disk index that makes it easy to find
> larger sequential pieces. However, I think it's possible to take a
> heuristic approach to make this better.
>
> Proposal--- When gathering dirty chunks--- I would like to track the
> median size written back in the last batch of writebacks, and then
> skip the first 500 things smaller than the median size. This still
> has the effect of putting all of our writes in LBA order, and has a
> relatively minimal cost (having to scan through 1000 dirty things
> instead of 500 in the worst case). Upon reaching the end of the btree
> we can revert to accepting all blocks.
>
> Taking a trivial case-- If half of the things to write back are 4k,
> and half are 8k, this will make us favor / almost entirely do
> writeback of 8k chunks, and will demand 25% fewer seeks to do an
> equivalent amount of writeback, in exchange for a small amount of
> additional CPU. (To an extent even this will be mitigated, because we
> won't have to scan to find dirty blocks as often).
>
> Does this sound reasonable?
It doesn't sound wrong. :)
Vojtech
next prev parent reply other threads:[~2017-09-20 8:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-20 8:01 Writeback efficiency -- proposal Michael Lyle
2017-09-20 8:08 ` Vojtech Pavlik [this message]
2017-09-20 8:51 ` Michael Lyle
2017-09-20 8:20 ` Coly Li
2017-09-20 14:06 ` Kent Overstreet
2017-09-20 15:42 ` Michael Lyle
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=20170920080859.GA15880@suse.com \
--to=vojtech@suse.com \
--cc=kent.overstreet@gmail.com \
--cc=linux-bcache@vger.kernel.org \
--cc=mlyle@lyle.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.