From: Richard Kennedy <richard@rsk.demon.co.uk>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wu Fengguang <fengguang.wu@intel.com>,
"Li, Shaohua" <shaohua.li@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"jens.axboe@oracle.com" <jens.axboe@oracle.com>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
Chris Mason <chris.mason@oracle.com>
Subject: Re: regression in page writeback
Date: Tue, 22 Sep 2009 09:52:48 +0100 [thread overview]
Message-ID: <1253609568.2282.11.camel@castor> (raw)
In-Reply-To: <1253608335.8439.283.camel@twins>
On Tue, 2009-09-22 at 10:32 +0200, Peter Zijlstra wrote:
> On Tue, 2009-09-22 at 16:24 +0800, Wu Fengguang wrote:
> > On Tue, Sep 22, 2009 at 04:09:25PM +0800, Peter Zijlstra wrote:
> > > On Tue, 2009-09-22 at 16:05 +0800, Wu Fengguang wrote:
> > > >
> > > > I'm not sure how this patch stopped the "overshooting" behavior.
> > > > Maybe it managed to not start the background pdflush, or the started
> > > > pdflush thread exited because it found writeback is in progress by
> > > > someone else?
> > > >
> > > > - if (bdi_nr_reclaimable) {
> > > > + if (bdi_nr_reclaimable > bdi_thresh) {
> > >
> > > The idea is that we shouldn't move more pages from dirty -> writeback
> > > when there's not actually that much dirty left.
> >
> > IMHO this makes little sense given that pdflush will move all dirty
> > pages anyway. pdflush should already be started to do background
> > writeback before the process is throttled, and it is designed to sync
> > all current dirty pages as quick as possible and as much as possible.
>
> Not so, pdflush (or now the bdi writer thread thingies) should not
> deplete all dirty pages but should stop writing once they are below the
> background limit.
>
> > > Now, I'm not sure about the > bdi_thresh part, I've suggested to maybe
> > > use bdi_thresh/2 a few times, but it generally didn't seem to make much
> > > of a difference.
> >
> > One possible difference is, the process may end up waiting longer time
> > in order to sync write_chunk pages and quit the throttle. This could
> > hurt the responsiveness of the throttled process.
>
> Well, that's all because this congestion_wait stuff is borken..
>
The problem occurred as pdflush stopped when the number of dirty pages
reached the background threshold but balance_dirty_pages kept moving
pages to writeback because the total of dirty + writeback was over the
limit.
I tried Peter's suggestion of using bdi_thresh/2 but I didn't see any
difference on my desktop hardware, but it may help RAID setups. I don't
think anyone tried it though.
Since Jens Axboe's per-bdi code got merged in the latest kernel tree,
there's a lot of change in these code paths so I'm not sure how that
reacts and if this change is still needed or relevant.
regards
Richard
next prev parent reply other threads:[~2009-09-22 8:52 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-22 5:49 regression in page writeback Shaohua Li
2009-09-22 6:40 ` Peter Zijlstra
2009-09-22 8:05 ` Wu Fengguang
2009-09-22 8:09 ` Peter Zijlstra
2009-09-22 8:24 ` Wu Fengguang
2009-09-22 8:32 ` Peter Zijlstra
2009-09-22 8:51 ` Wu Fengguang
2009-09-22 8:52 ` Richard Kennedy [this message]
2009-09-22 9:05 ` Wu Fengguang
2009-09-22 11:41 ` Shaohua Li
2009-09-22 15:52 ` Chris Mason
2009-09-23 0:22 ` Wu Fengguang
2009-09-23 0:54 ` Andrew Morton
2009-09-23 1:17 ` Wu Fengguang
2009-09-23 1:27 ` Wu Fengguang
2009-09-23 1:28 ` Andrew Morton
2009-09-23 1:32 ` Wu Fengguang
2009-09-23 1:47 ` Andrew Morton
2009-09-23 2:01 ` Wu Fengguang
2009-09-23 2:09 ` Andrew Morton
2009-09-23 3:07 ` Wu Fengguang
2009-09-23 1:45 ` Wu Fengguang
2009-09-23 1:59 ` Andrew Morton
2009-09-23 2:26 ` Wu Fengguang
2009-09-23 2:36 ` Andrew Morton
2009-09-23 2:49 ` Wu Fengguang
2009-09-23 2:56 ` Andrew Morton
2009-09-23 3:11 ` Wu Fengguang
2009-09-23 3:10 ` Shaohua Li
2009-09-23 3:14 ` Wu Fengguang
2009-09-23 3:25 ` Wu Fengguang
2009-09-23 14:00 ` Chris Mason
2009-09-24 3:15 ` Wu Fengguang
2009-09-24 12:10 ` Chris Mason
2009-09-25 3:26 ` Wu Fengguang
2009-09-25 0:11 ` Dave Chinner
2009-09-25 0:38 ` Chris Mason
2009-09-25 5:04 ` Dave Chinner
2009-09-25 6:45 ` Wu Fengguang
2009-09-28 1:07 ` Dave Chinner
2009-09-28 7:15 ` Wu Fengguang
2009-09-28 13:08 ` Christoph Hellwig
2009-09-28 14:07 ` Theodore Tso
2009-09-30 5:26 ` Wu Fengguang
2009-09-30 5:32 ` Wu Fengguang
2009-10-01 22:17 ` Jan Kara
2009-10-02 3:27 ` Wu Fengguang
2009-10-06 12:55 ` Jan Kara
2009-10-06 13:18 ` Wu Fengguang
2009-09-30 14:11 ` Theodore Tso
2009-10-01 15:14 ` Wu Fengguang
2009-10-01 21:54 ` Theodore Tso
2009-10-02 2:55 ` Wu Fengguang
2009-10-02 8:19 ` Wu Fengguang
2009-10-02 17:26 ` Theodore Tso
2009-10-03 6:10 ` Wu Fengguang
2009-09-29 2:32 ` Wu Fengguang
2009-09-29 14:00 ` Chris Mason
2009-09-29 14:21 ` Christoph Hellwig
2009-09-29 0:15 ` Wu Fengguang
2009-09-28 14:25 ` Chris Mason
2009-09-29 23:39 ` Dave Chinner
2009-09-30 1:30 ` Wu Fengguang
2009-09-25 12:06 ` Chris Mason
2009-09-25 3:19 ` Wu Fengguang
2009-09-26 1:47 ` Dave Chinner
2009-09-26 3:02 ` Wu Fengguang
2009-09-23 9:19 ` Richard Kennedy
2009-09-23 9:23 ` Peter Zijlstra
2009-09-23 9:37 ` Wu Fengguang
2009-09-23 10:30 ` Wu Fengguang
2009-09-23 6:41 ` Shaohua Li
2009-09-22 10:49 ` Wu Fengguang
2009-09-22 11:50 ` Shaohua Li
2009-09-22 13:39 ` Wu Fengguang
2009-09-23 1:52 ` Shaohua Li
2009-09-23 4:00 ` Wu Fengguang
2009-09-25 6:14 ` Wu Fengguang
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=1253609568.2282.11.camel@castor \
--to=richard@rsk.demon.co.uk \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=fengguang.wu@intel.com \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=shaohua.li@intel.com \
/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