From: Mel Gorman <mgorman@suse.de>
To: Johannes Weiner <jweiner@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Christoph Hellwig <hch@infradead.org>,
Dave Chinner <david@fromorbit.com>,
Wu Fengguang <fengguang.wu@intel.com>, Jan Kara <jack@suse.cz>,
Rik van Riel <riel@redhat.com>,
Minchan Kim <minchan.kim@gmail.com>,
Chris Mason <chris.mason@oracle.com>,
Theodore Ts'o <tytso@mit.edu>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Shaohua Li <shaohua.li@intel.com>,
xfs@oss.sgi.com, linux-btrfs@vger.kernel.org,
linux-ext4@vger.kernel.org, linux-mm@kvack.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/5] mm: exclude reserved pages from dirtyable memory
Date: Mon, 3 Oct 2011 12:22:05 +0100 [thread overview]
Message-ID: <20111003112205.GA5011@suse.de> (raw)
In-Reply-To: <1317367044-475-2-git-send-email-jweiner@redhat.com>
On Fri, Sep 30, 2011 at 09:17:20AM +0200, Johannes Weiner wrote:
> The amount of dirtyable pages should not include the full number of
> free pages: there is a number of reserved pages that the page
> allocator and kswapd always try to keep free.
>
> The closer (reclaimable pages - dirty pages) is to the number of
> reserved pages, the more likely it becomes for reclaim to run into
> dirty pages:
>
> +----------+ ---
> | anon | |
> +----------+ |
> | | |
> | | -- dirty limit new -- flusher new
> | file | | |
> | | | |
> | | -- dirty limit old -- flusher old
> | | |
> +----------+ --- reclaim
> | reserved |
> +----------+
> | kernel |
> +----------+
>
> This patch introduces a per-zone dirty reserve that takes both the
> lowmem reserve as well as the high watermark of the zone into account,
> and a global sum of those per-zone values that is subtracted from the
> global amount of dirtyable pages. The lowmem reserve is unavailable
> to page cache allocations and kswapd tries to keep the high watermark
> free. We don't want to end up in a situation where reclaim has to
> clean pages in order to balance zones.
>
> Not treating reserved pages as dirtyable on a global level is only a
> conceptual fix. In reality, dirty pages are not distributed equally
> across zones and reclaim runs into dirty pages on a regular basis.
>
> But it is important to get this right before tackling the problem on a
> per-zone level, where the distance between reclaim and the dirty pages
> is mostly much smaller in absolute numbers.
>
> Signed-off-by: Johannes Weiner <jweiner@redhat.com>
> Reviewed-by: Rik van Riel <riel@redhat.com>
Acked-by: Mel Gorman <mgorman@suse.de>
--
Mel Gorman
SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mgorman@suse.de>
To: Johannes Weiner <jweiner@redhat.com>
Cc: Rik van Riel <riel@redhat.com>,
linux-ext4@vger.kernel.org, Jan Kara <jack@suse.cz>,
linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org,
xfs@oss.sgi.com, Christoph Hellwig <hch@infradead.org>,
linux-mm@kvack.org, Andreas Dilger <adilger.kernel@dilger.ca>,
Minchan Kim <minchan.kim@gmail.com>,
Shaohua Li <shaohua.li@intel.com>,
linux-fsdevel@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
Andrew Morton <akpm@linux-foundation.org>,
Wu Fengguang <fengguang.wu@intel.com>,
Chris Mason <chris.mason@oracle.com>
Subject: Re: [patch 1/5] mm: exclude reserved pages from dirtyable memory
Date: Mon, 3 Oct 2011 12:22:05 +0100 [thread overview]
Message-ID: <20111003112205.GA5011@suse.de> (raw)
In-Reply-To: <1317367044-475-2-git-send-email-jweiner@redhat.com>
On Fri, Sep 30, 2011 at 09:17:20AM +0200, Johannes Weiner wrote:
> The amount of dirtyable pages should not include the full number of
> free pages: there is a number of reserved pages that the page
> allocator and kswapd always try to keep free.
>
> The closer (reclaimable pages - dirty pages) is to the number of
> reserved pages, the more likely it becomes for reclaim to run into
> dirty pages:
>
> +----------+ ---
> | anon | |
> +----------+ |
> | | |
> | | -- dirty limit new -- flusher new
> | file | | |
> | | | |
> | | -- dirty limit old -- flusher old
> | | |
> +----------+ --- reclaim
> | reserved |
> +----------+
> | kernel |
> +----------+
>
> This patch introduces a per-zone dirty reserve that takes both the
> lowmem reserve as well as the high watermark of the zone into account,
> and a global sum of those per-zone values that is subtracted from the
> global amount of dirtyable pages. The lowmem reserve is unavailable
> to page cache allocations and kswapd tries to keep the high watermark
> free. We don't want to end up in a situation where reclaim has to
> clean pages in order to balance zones.
>
> Not treating reserved pages as dirtyable on a global level is only a
> conceptual fix. In reality, dirty pages are not distributed equally
> across zones and reclaim runs into dirty pages on a regular basis.
>
> But it is important to get this right before tackling the problem on a
> per-zone level, where the distance between reclaim and the dirty pages
> is mostly much smaller in absolute numbers.
>
> Signed-off-by: Johannes Weiner <jweiner@redhat.com>
> Reviewed-by: Rik van Riel <riel@redhat.com>
Acked-by: Mel Gorman <mgorman@suse.de>
--
Mel Gorman
SUSE Labs
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mgorman@suse.de>
To: Johannes Weiner <jweiner@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Christoph Hellwig <hch@infradead.org>,
Dave Chinner <david@fromorbit.com>,
Wu Fengguang <fengguang.wu@intel.com>, Jan Kara <jack@suse.cz>,
Rik van Riel <riel@redhat.com>,
Minchan Kim <minchan.kim@gmail.com>,
Chris Mason <chris.mason@oracle.com>,
Theodore Ts'o <tytso@mit.edu>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Shaohua Li <shaohua.li@intel.com>,
xfs@oss.sgi.com, linux-btrfs@vger.kernel.org,
linux-ext4@vger.kernel.org, linux-mm@kvack.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/5] mm: exclude reserved pages from dirtyable memory
Date: Mon, 3 Oct 2011 12:22:05 +0100 [thread overview]
Message-ID: <20111003112205.GA5011@suse.de> (raw)
In-Reply-To: <1317367044-475-2-git-send-email-jweiner@redhat.com>
On Fri, Sep 30, 2011 at 09:17:20AM +0200, Johannes Weiner wrote:
> The amount of dirtyable pages should not include the full number of
> free pages: there is a number of reserved pages that the page
> allocator and kswapd always try to keep free.
>
> The closer (reclaimable pages - dirty pages) is to the number of
> reserved pages, the more likely it becomes for reclaim to run into
> dirty pages:
>
> +----------+ ---
> | anon | |
> +----------+ |
> | | |
> | | -- dirty limit new -- flusher new
> | file | | |
> | | | |
> | | -- dirty limit old -- flusher old
> | | |
> +----------+ --- reclaim
> | reserved |
> +----------+
> | kernel |
> +----------+
>
> This patch introduces a per-zone dirty reserve that takes both the
> lowmem reserve as well as the high watermark of the zone into account,
> and a global sum of those per-zone values that is subtracted from the
> global amount of dirtyable pages. The lowmem reserve is unavailable
> to page cache allocations and kswapd tries to keep the high watermark
> free. We don't want to end up in a situation where reclaim has to
> clean pages in order to balance zones.
>
> Not treating reserved pages as dirtyable on a global level is only a
> conceptual fix. In reality, dirty pages are not distributed equally
> across zones and reclaim runs into dirty pages on a regular basis.
>
> But it is important to get this right before tackling the problem on a
> per-zone level, where the distance between reclaim and the dirty pages
> is mostly much smaller in absolute numbers.
>
> Signed-off-by: Johannes Weiner <jweiner@redhat.com>
> Reviewed-by: Rik van Riel <riel@redhat.com>
Acked-by: Mel Gorman <mgorman@suse.de>
--
Mel Gorman
SUSE Labs
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-10-03 11:22 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-30 7:17 [patch 0/5] per-zone dirty limits v3 Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:17 ` [patch 1/5] mm: exclude reserved pages from dirtyable memory Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 13:53 ` Michal Hocko
2011-09-30 13:53 ` Michal Hocko
2011-09-30 13:53 ` Michal Hocko
2011-10-01 7:10 ` Minchan Kim
2011-10-01 7:10 ` Minchan Kim
2011-10-01 7:10 ` Minchan Kim
2011-10-03 11:22 ` Mel Gorman [this message]
2011-10-03 11:22 ` Mel Gorman
2011-10-03 11:22 ` Mel Gorman
2011-09-30 7:17 ` [patch 2/5] mm: writeback: cleanups in preparation for per-zone dirty limits Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 13:56 ` Michal Hocko
2011-09-30 13:56 ` Michal Hocko
2011-09-30 13:56 ` Michal Hocko
2011-09-30 7:17 ` [patch 3/5] mm: try to distribute dirty pages fairly across zones Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:35 ` Pekka Enberg
2011-09-30 7:35 ` Pekka Enberg
2011-09-30 7:35 ` Pekka Enberg
2011-09-30 7:35 ` Pekka Enberg
2011-09-30 8:55 ` Johannes Weiner
2011-09-30 8:55 ` Johannes Weiner
2011-09-30 8:55 ` Johannes Weiner
2011-09-30 8:55 ` Johannes Weiner
2011-09-30 8:55 ` Johannes Weiner
2011-09-30 14:28 ` Michal Hocko
2011-09-30 14:28 ` Michal Hocko
2011-09-30 14:28 ` Michal Hocko
2011-10-28 20:18 ` Wu Fengguang
2011-10-28 20:18 ` Wu Fengguang
2011-10-28 20:18 ` Wu Fengguang
2011-10-31 11:33 ` Wu Fengguang
2011-10-31 11:33 ` Wu Fengguang
2011-10-31 11:33 ` Wu Fengguang
2011-11-01 10:55 ` Johannes Weiner
2011-11-01 10:55 ` Johannes Weiner
2011-11-01 10:55 ` Johannes Weiner
[not found] ` <20111027155618.GA25524@localhost>
[not found] ` <20111027161359.GA1319@redhat.com>
[not found] ` <20111027204743.GA19343@localhost>
[not found] ` <20111027221258.GA22869@localhost>
[not found] ` <20111027231933.GB1319@redhat.com>
2011-10-28 20:39 ` Wu Fengguang
2011-10-28 20:39 ` Wu Fengguang
2011-11-01 10:52 ` Johannes Weiner
2011-11-01 10:52 ` Johannes Weiner
2011-11-01 10:52 ` Johannes Weiner
2011-09-30 7:17 ` [patch 4/5] mm: filemap: pass __GFP_WRITE from grab_cache_page_write_begin() Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 14:41 ` Michal Hocko
2011-09-30 14:41 ` Michal Hocko
2011-09-30 14:41 ` Michal Hocko
2011-09-30 7:17 ` [patch 5/5] Btrfs: pass __GFP_WRITE for buffered write page allocations Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-09-30 7:17 ` Johannes Weiner
2011-10-03 11:25 ` Mel Gorman
2011-10-03 11:25 ` Mel Gorman
2011-10-03 11:25 ` Mel Gorman
-- strict thread matches above, loose matches on Subject: below --
2011-11-23 13:34 [patch 0/5] mm: per-zone dirty limits v3-resend Johannes Weiner
2011-11-23 13:34 ` [patch 1/5] mm: exclude reserved pages from dirtyable memory Johannes Weiner
2011-11-23 13:34 ` Johannes Weiner
2011-11-30 0:20 ` Andrew Morton
2011-11-30 0:20 ` Andrew Morton
2011-12-07 13:58 ` Johannes Weiner
2011-12-07 13:58 ` Johannes Weiner
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=20111003112205.GA5011@suse.de \
--to=mgorman@suse.de \
--cc=adilger.kernel@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=david@fromorbit.com \
--cc=fengguang.wu@intel.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=jweiner@redhat.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan.kim@gmail.com \
--cc=riel@redhat.com \
--cc=shaohua.li@intel.com \
--cc=tytso@mit.edu \
--cc=xfs@oss.sgi.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 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.