From: Dave Chinner <david@fromorbit.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Wu Fengguang <fengguang.wu@intel.com>, Jan Kara <jack@suse.cz>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] writeback: Do not congestion sleep when there are no congested BDIs
Date: Fri, 27 Aug 2010 15:13:16 +1000 [thread overview]
Message-ID: <20100827051316.GH705@dastard> (raw)
In-Reply-To: <1282835656-5638-4-git-send-email-mel@csn.ul.ie>
On Thu, Aug 26, 2010 at 04:14:16PM +0100, Mel Gorman wrote:
> If congestion_wait() is called with no BDIs congested, the caller will
> sleep for the full timeout and this is an unnecessary sleep.
That, I think, is an invalid assumption. congestion_wait is used in
some places as a backoff mechanism that waits for some IO work to be
done, with congestion disappearing being a indication that progress
has been made and so we can retry sooner than the entire timeout.
For example, if _xfs_buf_lookup_pages() fails to allocate page cache
pages for a buffer, it will kick the xfsbufd to writeback dirty
buffers (so they can be freed) and immediately enter
congestion_wait(). If there isn't congestion when we enter
congestion_wait(), we still want to give the xfsbufds a chance to
clean some pages before we retry the allocation for the new buffer.
Removing the congestion_wait() sleep behaviour will effectively
_increase_ memory pressure with XFS on fast disk subsystems because
it now won't backoff between failed allocation attempts...
Perhaps a congestion_wait_iff_congested() variant is needed for the
VM? I can certainly see how it benefits the VM from a latency
perspective, but it is the opposite behaviour that is expected in
other places...
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
--
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:[~2010-08-27 5:13 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-26 15:14 [RFC PATCH 0/3] Do not wait the full timeout on congestion_wait when there is no congestion Mel Gorman
2010-08-26 15:14 ` [PATCH 1/3] writeback: Account for time spent congestion_waited Mel Gorman
2010-08-26 17:23 ` Minchan Kim
2010-08-26 18:10 ` Johannes Weiner
2010-08-26 15:14 ` [PATCH 2/3] writeback: Record if the congestion was unnecessary Mel Gorman
2010-08-26 17:35 ` Minchan Kim
2010-08-26 17:41 ` Mel Gorman
2010-08-26 18:29 ` Johannes Weiner
2010-08-26 20:31 ` Mel Gorman
2010-08-27 2:12 ` Shaohua Li
2010-08-27 9:20 ` Mel Gorman
2010-08-27 8:16 ` Johannes Weiner
2010-08-27 9:24 ` Mel Gorman
2010-08-30 13:19 ` Johannes Weiner
2010-08-31 15:02 ` Mel Gorman
2010-09-02 15:49 ` Johannes Weiner
2010-09-02 18:28 ` Mel Gorman
2010-08-29 16:03 ` Minchan Kim
2010-08-26 15:14 ` [PATCH 3/3] writeback: Do not congestion sleep when there are no congested BDIs Mel Gorman
2010-08-26 17:38 ` Minchan Kim
2010-08-26 17:42 ` Mel Gorman
2010-08-26 18:17 ` Johannes Weiner
2010-08-26 20:23 ` Mel Gorman
2010-08-27 1:11 ` Wu Fengguang
2010-08-27 9:34 ` Mel Gorman
2010-08-27 1:42 ` Wu Fengguang
2010-08-27 9:37 ` Mel Gorman
2010-08-27 5:13 ` Dave Chinner [this message]
2010-08-27 9:33 ` Mel Gorman
2010-08-26 17:20 ` [RFC PATCH 0/3] Do not wait the full timeout on congestion_wait when there is no congestion Minchan Kim
2010-08-26 17:31 ` Mel Gorman
2010-08-26 17:50 ` Minchan Kim
2010-08-27 1:21 ` Wu Fengguang
2010-08-27 1:41 ` Minchan Kim
2010-08-27 1:50 ` Wu Fengguang
2010-08-27 2:02 ` Minchan Kim
2010-08-27 4:34 ` Wu Fengguang
2010-08-27 9:38 ` Mel Gorman
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=20100827051316.GH705@dastard \
--to=david@fromorbit.com \
--cc=akpm@linux-foundation.org \
--cc=ehrhardt@linux.vnet.ibm.com \
--cc=fengguang.wu@intel.com \
--cc=hannes@cmpxchg.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
/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).