linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Zlatko Calusic <zcalusic@bitsync.net>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 0/3] mm: improve page aging fairness between zones/nodes
Date: Wed, 24 Jul 2013 13:18:35 +0200	[thread overview]
Message-ID: <51EFB80B.1090302@bitsync.net> (raw)
In-Reply-To: <51ED6274.3000509@bitsync.net>

[-- Attachment #1: Type: text/plain, Size: 2134 bytes --]

On 22.07.2013 18:48, Zlatko Calusic wrote:
> On 19.07.2013 22:55, Johannes Weiner wrote:
>> The way the page allocator interacts with kswapd creates aging
>> imbalances, where the amount of time a userspace page gets in memory
>> under reclaim pressure is dependent on which zone, which node the
>> allocator took the page frame from.
>>
>> #1 fixes missed kswapd wakeups on NUMA systems, which lead to some
>>     nodes falling behind for a full reclaim cycle relative to the other
>>     nodes in the system
>>
>> #3 fixes an interaction where kswapd and a continuous stream of page
>>     allocations keep the preferred zone of a task between the high and
>>     low watermark (allocations succeed + kswapd does not go to sleep)
>>     indefinitely, completely underutilizing the lower zones and
>>     thrashing on the preferred zone
>>
>> These patches are the aging fairness part of the thrash-detection
>> based file LRU balancing.  Andrea recommended to submit them
>> separately as they are bugfixes in their own right.
>>
>
> I have the patch applied and under testing. So far, so good. It looks
> like it could finally fix the bug that I was chasing few months ago
> (nicely described in your bullet #3). But, few more days of testing will
> be needed before I can reach a quality verdict.
>

Well, only 2 days later it's already obvious that the patch is perfect! :)

In the attached image, in the left column are the graphs covering last 
day and a half. It can be observed that zones are really balanced, and 
that aging is practically perfect. Graphs on the right column cover last 
10 day period, and the left side of the upper graph shows how it would 
look with the stock kernel after about 20 day uptime (although only a 
few days is enough to reach such imbalance). File pages in the Normal 
zone are extinct species (red) and the zone is choke full of anon pages 
(blue). Having seen a lot of this graphs, I'm certain that it won't 
happen anymore with your patch applied. The balance is restored! Thank 
you for your work. Feel free to add:

Tested-by: Zlatko Calusic <zcalusic@bitsync.net>

Regards,
-- 
Zlatko

[-- Attachment #2: screenshot1.png --]
[-- Type: image/png, Size: 79572 bytes --]

  parent reply	other threads:[~2013-07-24 11:18 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-19 20:55 [patch 0/3] mm: improve page aging fairness between zones/nodes Johannes Weiner
2013-07-19 20:55 ` [patch 1/3] mm: vmscan: fix numa reclaim balance problem in kswapd Johannes Weiner
2013-07-22 19:47   ` Rik van Riel
2013-07-22 20:14     ` Johannes Weiner
2013-07-26 22:53   ` Andrew Morton
2013-07-30 17:45     ` Johannes Weiner
2013-07-31 12:43       ` Johannes Weiner
2013-07-19 20:55 ` [patch 2/3] mm: page_alloc: rearrange watermark checking in get_page_from_freelist Johannes Weiner
2013-07-22 19:51   ` Rik van Riel
2013-07-19 20:55 ` [patch 3/3] mm: page_alloc: fair zone allocator policy Johannes Weiner
2013-07-22 20:21   ` Rik van Riel
2013-07-22 21:04     ` Johannes Weiner
2013-07-22 22:48       ` Rik van Riel
2013-07-25  6:50     ` Paul Bolle
2013-07-25 15:10       ` Johannes Weiner
2013-07-25 15:20         ` Paul Bolle
2013-07-29 17:48   ` Andrea Arcangeli
2013-07-29 22:24     ` Johannes Weiner
2013-08-01  2:56   ` Minchan Kim
2013-08-01  4:31     ` Rik van Riel
2013-08-01 15:51       ` Andrea Arcangeli
2013-08-01 19:58         ` Johannes Weiner
2013-08-01 22:16           ` Andrea Arcangeli
2013-08-02  6:22     ` Johannes Weiner
2013-08-02  7:32       ` Minchan Kim
2013-07-22 16:48 ` [patch 0/3] mm: improve page aging fairness between zones/nodes Zlatko Calusic
2013-07-22 17:01   ` Johannes Weiner
2013-07-22 17:14     ` Zlatko Calusic
2013-07-24 11:18   ` Zlatko Calusic [this message]
2013-07-24 12:46     ` Hush Bensen
2013-07-24 13:59       ` Zlatko Calusic
2013-07-31  9:33     ` Zlatko Calusic
2013-07-26 22:45 ` Andrew Morton
2013-07-26 23:14   ` 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=51EFB80B.1090302@bitsync.net \
    --to=zcalusic@bitsync.net \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=riel@redhat.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;
as well as URLs for NNTP newsgroup(s).