kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: Valdis.Kletnieks@vt.edu (Valdis.Kletnieks at vt.edu)
To: kernelnewbies@lists.kernelnewbies.org
Subject: cap on writeback?
Date: Mon, 25 Mar 2013 23:17:14 -0400	[thread overview]
Message-ID: <8251.1364267834@turing-police.cc.vt.edu> (raw)
In-Reply-To: Your message of "Mon, 25 Mar 2013 17:23:40 -0700." <CAGDaZ_riX6pC1bcp7=VC8A9BF_TOZL3L8eNog7g-Uh9yTxH4Dw@mail.gmail.com>

On Mon, 25 Mar 2013 17:23:40 -0700, Raymond Jennings said:

> Is there some sort of mechanism that throttles the size of the writeback pool?

There's a lot of tunables in /proc/sys/vm - everything from drop_caches
to swappiness to vfs_cache_pressure.  Note that they all interact in mystical
and hard-to-understand ways. ;)

> it's somewhat related to my brainfuck queue, since I would like to
> stress test it digesting a huge pile of outbound data and seeing if it
> can make writeback less seeky.

The biggest challenge here is that there's a bit of a layering violation
to be resolved - when the VM is choosing what pages get written out first,
it really has no clue where on disk the pages are going. Consider a 16M
file that's fragged into 16 1M extents - they'll almost certainly hit
the writeback queue in logical block order, not physical address order.
The only really good choices here are to either allow the writeback queue
to get deep enough that an elevator can do something useful (if you only
have 2-3 IOs queued, you can do less than if you have 20-30 of them you
can sort into some useful order), and filesystems that are less prone
to fragmentation issues

Just for the record, most of my high-performance stuff runs best with
the noop scheduler - when you're striping I/O across several hundred disks,
the last thing you want is some some single-minded disk scheduler re-arranging
the I/Os and creating latency issues for your striping.

Might want to think about why there's lots of man-hours spent doing
new filesystems and stuff like zcache and kernel shared memory, but the
only IO schedulers in tree are noop, deadline, and cfq :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 865 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130325/063c2e2e/attachment.bin 

  reply	other threads:[~2013-03-26  3:17 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-25 23:33 cap on writeback? Raymond Jennings
2013-03-26  0:06 ` Valdis.Kletnieks at vt.edu
2013-03-26  0:23   ` Raymond Jennings
2013-03-26  3:17     ` Valdis.Kletnieks at vt.edu [this message]
2013-03-26  9:01       ` Raymond Jennings
2013-03-26 16:46       ` SSDs vs elevators (was Re: cap on writeback?) Arlie Stephens
2013-03-27 10:43         ` Raymond Jennings

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=8251.1364267834@turing-police.cc.vt.edu \
    --to=valdis.kletnieks@vt.edu \
    --cc=kernelnewbies@lists.kernelnewbies.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).