linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Hush Bensen <hush.bensen@gmail.com>
To: Zlatko Calusic <zcalusic@bitsync.net>,
	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 20:46:42 +0800	[thread overview]
Message-ID: <51EFCCB2.5020806@gmail.com> (raw)
In-Reply-To: <51EFB80B.1090302@bitsync.net>

ao? 2013/7/24 19:18, Zlatko Calusic a??e??:
> 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>

Thanks for your testing Zlatko, could you tell me which benchmark or 
workload you are using? Btw, which tool is used to draw these nice 
pictures? ;-)

>
> Regards,

--
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>

  reply	other threads:[~2013-07-24 12:47 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
2013-07-24 12:46     ` Hush Bensen [this message]
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=51EFCCB2.5020806@gmail.com \
    --to=hush.bensen@gmail.com \
    --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 \
    --cc=zcalusic@bitsync.net \
    /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).