From: Jan Kara <jack@suse.cz>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Chris Mason <chris.mason@oracle.com>,
David Miller <davem@davemloft.net>,
akpm@linux-foundation.org, peterz@infradead.org, jack@suse.cz,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
npiggin@suse.de
Subject: Re: Increase dirty_ratio and dirty_background_ratio?
Date: Thu, 8 Jan 2009 20:57:28 +0100 [thread overview]
Message-ID: <20090108195728.GC14560@duck.suse.cz> (raw)
In-Reply-To: <alpine.LFD.2.00.0901080858500.3283@localhost.localdomain>
On Thu 08-01-09 09:05:01, Linus Torvalds wrote:
> On Thu, 8 Jan 2009, Chris Mason wrote:
> >
> > Does it make sense to hook into kupdate? If kupdate finds it can't meet
> > the no-data-older-than 30 seconds target, it lowers the sync/async combo
> > down to some reasonable bottom.
> >
> > If it finds it is going to sleep without missing the target, raise the
> > combo up to some reasonable top.
>
> I like autotuning, so that sounds like an intriguing approach. It's worked
> for us before (ie VM).
>
> That said, 30 seconds sounds like a _loong_ time for something like this.
> I'd use the normal 5-second dirty_writeback_interval for this: if we can't
> clean the whole queue in that normal background writeback interval, then
> we try to lower the tagets. We already have that "congestion_wait()" thing
> there, that would be a logical place, methinks.
But I think there are workloads for which this is suboptimal to say the
least. Imagine you do some crazy LDAP database crunching or other similar load
which randomly writes to a big file (big means it's size is rougly
comparable to your available memory). Kernel finds pdflush isn't able to
flush the data fast enough so we decrease dirty limits. This results in
even more agressive flushing but that makes things even worse (in a sence
that your application runs slower and the disk is busy all the time anyway).
This is the kind of load where we observe problems currently.
Ideally we could observe that we write out the same pages again and again
(or even pages close to them) and in that case be less agressive about
writeback on the file. But it feels a bit overcomplicated...
> I'm not sure how to raise them, though. We don't want to raise any limits
> just because the user suddenly went idle. I think the raising should
> happen if we hit the sync/async ratio, and we haven't lowered in the last
> 30 seconds or something like that.
Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-01-08 19:57 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090107154517.GA5565@duck.suse.cz>
2009-01-07 16:25 ` Peter Zijlstra
2009-01-07 16:39 ` Linus Torvalds
2009-01-07 20:51 ` David Miller
2009-01-08 11:02 ` Andrew Morton
2009-01-08 16:24 ` David Miller
2009-01-08 16:48 ` Linus Torvalds
2009-01-08 16:55 ` Chris Mason
2009-01-08 17:05 ` Linus Torvalds
2009-01-08 19:57 ` Jan Kara [this message]
2009-01-08 20:01 ` David Miller
2009-01-09 18:02 ` Jan Kara
2009-01-09 19:00 ` Andrew Morton
2009-01-09 19:07 ` Chris Mason
2009-01-09 22:31 ` david
2009-01-09 21:34 ` Peter Zijlstra
2009-01-14 3:29 ` Nick Piggin
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=20090108195728.GC14560@duck.suse.cz \
--to=jack@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--cc=peterz@infradead.org \
--cc=torvalds@linux-foundation.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