From: Fengguang Wu <fengguang.wu@intel.com>
To: "Theodore Ts'o" <tytso@mit.edu>,
"Artem S. Tashkinov" <t.artem@lycos.com>,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org
Cc: Diego Calleja <diegocg@gmail.com>, David Lang <david@lang.hm>,
NeilBrown <neilb@suse.de>
Subject: Re: Disabling in-memory write cache for x86-64 in Linux II
Date: Sat, 26 Oct 2013 00:05:45 +0100 [thread overview]
Message-ID: <20131025230545.GB31280@localhost> (raw)
In-Reply-To: <20131025091842.GA28681@thunk.org>
On Fri, Oct 25, 2013 at 05:18:42AM -0400, Theodore Ts'o wrote:
> On Fri, Oct 25, 2013 at 08:30:53AM +0000, Artem S. Tashkinov wrote:
> > My feeling is that vm.dirty_ratio/vm.dirty_background_ratio should _not_ be
> > percentage based, 'cause for PCs/servers with a lot of memory (say 64GB or
> > more) this value becomes unrealistic (13GB) and I've already had some
> > unpleasant effects due to it.
>
> What I think would make sense is to dynamically measure the speed of
> writeback, so that we can set these limits as a function of the device
> speed. It's already the case that the writeback limits don't make
> sense on a slow USB 2.0 storage stick; I suspect that for really huge
> RAID arrays or very fast flash devices, it doesn't make much sense
> either.
>
> The problem is that if you have a system that has *both* a USB stick
> _and_ a fast flash/RAID storage array both needing writeback, this
> doesn't work well --- but what we have right now doesn't work all that
> well anyway.
Ted, when trying to follow up your email, I got a crazy idea and it'd
be better throw it out rather than carrying it to bed. :)
We could do per-bdi dirty thresholds - which has been proposed 1-2
times before by different people.
The per-bdi dirty thresholds could be auto set by the kernel this way:
start it with an initial value of 100MB. When reached, put all the
100MB dirty data to IO and get an estimation of the write bandwidth.
>From then on, set the bdi's dirty threshold to N * bdi_write_bandwidth,
where N is the seconds of dirty data we'd like to cache in memory.
Thanks,
Fengguang
next prev parent reply other threads:[~2013-10-25 23:05 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-25 7:25 Disabling in-memory write cache for x86-64 in Linux II Artem S. Tashkinov
2013-10-25 7:25 ` Artem S. Tashkinov
2013-10-25 8:18 ` Linus Torvalds
2013-10-25 8:18 ` Linus Torvalds
2013-10-25 8:30 ` Artem S. Tashkinov
2013-10-25 8:43 ` Linus Torvalds
2013-10-25 9:15 ` Karl Kiniger
2013-10-29 20:30 ` Jan Kara
2013-10-29 20:43 ` Andrew Morton
2013-10-29 21:30 ` Jan Kara
2013-10-29 21:36 ` Linus Torvalds
2013-10-31 14:26 ` Karl Kiniger
2013-11-01 14:25 ` Maxim Patlasov
2013-11-01 14:31 ` [PATCH] mm: add strictlimit knob Maxim Patlasov
2013-11-01 14:31 ` Maxim Patlasov
2013-11-04 22:01 ` Andrew Morton
2013-11-04 22:01 ` Andrew Morton
2013-11-06 14:30 ` Maxim Patlasov
2013-11-06 14:30 ` Maxim Patlasov
2013-11-06 15:05 ` [PATCH] mm: add strictlimit knob -v2 Maxim Patlasov
2013-11-06 15:05 ` Maxim Patlasov
2013-11-07 12:26 ` Henrique de Moraes Holschuh
2013-11-07 12:26 ` Henrique de Moraes Holschuh
2013-11-22 23:45 ` Andrew Morton
2013-11-22 23:45 ` Andrew Morton
2013-10-25 11:28 ` Disabling in-memory write cache for x86-64 in Linux II David Lang
2013-10-25 9:18 ` Theodore Ts'o
2013-10-25 9:29 ` Andrew Morton
2013-10-25 9:32 ` Linus Torvalds
2013-10-26 11:32 ` Pavel Machek
2013-10-26 20:03 ` Linus Torvalds
2013-10-29 20:57 ` Jan Kara
2013-10-29 21:33 ` Linus Torvalds
2013-10-29 22:13 ` Jan Kara
2013-10-29 22:42 ` Linus Torvalds
2013-11-01 17:22 ` Fengguang Wu
2013-11-04 12:19 ` Pavel Machek
2013-11-04 12:26 ` Pavel Machek
2013-10-30 12:01 ` Mel Gorman
2013-11-19 17:17 ` Rob Landley
2013-11-20 20:52 ` One Thousand Gnomes
2013-10-25 22:37 ` Fengguang Wu
2013-10-25 23:05 ` Fengguang Wu [this message]
2013-10-25 23:37 ` Theodore Ts'o
2013-10-29 20:40 ` Jan Kara
2013-10-30 10:07 ` Artem S. Tashkinov
2013-10-30 15:12 ` Jan Kara
2013-11-05 0:50 ` Andreas Dilger
2013-11-05 0:50 ` Andreas Dilger
2013-11-05 4:12 ` Dave Chinner
2013-11-05 4:12 ` Dave Chinner
2013-11-05 4:12 ` Dave Chinner
2013-11-07 13:48 ` Jan Kara
2013-11-07 13:48 ` Jan Kara
2013-11-07 13:48 ` Jan Kara
2013-11-11 3:22 ` Dave Chinner
2013-11-11 3:22 ` Dave Chinner
2013-11-11 3:22 ` Dave Chinner
2013-11-11 19:31 ` Jan Kara
2013-11-11 19:31 ` Jan Kara
2013-11-05 6:32 ` Figo.zhang
2013-10-25 10:49 ` NeilBrown
2013-10-25 11:26 ` David Lang
2013-10-25 11:26 ` David Lang
2013-10-25 18:26 ` Artem S. Tashkinov
2013-10-25 18:26 ` Artem S. Tashkinov
2013-10-25 19:40 ` Diego Calleja
2013-10-25 19:40 ` Diego Calleja
2013-10-25 23:32 ` Fengguang Wu
2013-10-25 23:32 ` Fengguang Wu
2013-10-25 23:32 ` Fengguang Wu
2013-11-15 15:48 ` Diego Calleja
2013-11-15 15:48 ` Diego Calleja
2013-10-25 20:43 ` NeilBrown
2013-10-25 21:03 ` Artem S. Tashkinov
2013-10-25 21:03 ` Artem S. Tashkinov
2013-10-25 22:11 ` NeilBrown
2013-11-05 1:40 ` Figo.zhang
2013-11-05 1:47 ` David Lang
2013-11-05 1:47 ` David Lang
2013-11-05 2:08 ` NeilBrown
2013-10-29 20:49 ` Jan Kara
2013-10-29 20:49 ` Jan Kara
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=20131025230545.GB31280@localhost \
--to=fengguang.wu@intel.com \
--cc=akpm@linux-foundation.org \
--cc=david@lang.hm \
--cc=diegocg@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=t.artem@lycos.com \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/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.