All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Mel Gorman <mel@csn.ul.ie>
Cc: stable@kernel.org, linux-kernel@vger.kernel.org,
	"linux-mm@kvack.org\"" <linux-mm@kvack.org>,
	Frans Pop <elendil@planet.nl>, Jiri Kosina <jkosina@suse.cz>,
	Sven Geggus <lists@fuchsschwanzdomain.de>,
	Karol Lewandowski <karol.k.lewandowski@gmail.com>,
	Tobias Oetiker <tobi@oetiker.ch>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	Rik van Riel <riel@redhat.com>,
	Christoph Lameter <cl@linux-foundation.org>,
	Stephan von Krawczynski <skraw@ithnet.com>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	Mel Gorman <mel@csn.ul.ie>
Subject: Re: [PATCH 3/3] vmscan: Force kswapd to take notice faster when high-order watermarks are being hit
Date: Tue, 27 Oct 2009 13:19:05 -0700	[thread overview]
Message-ID: <20091027131905.410ec04a.akpm@linux-foundation.org> (raw)
In-Reply-To: <1256650833-15516-4-git-send-email-mel@csn.ul.ie>

On Tue, 27 Oct 2009 13:40:33 +0000
Mel Gorman <mel@csn.ul.ie> wrote:

> When a high-order allocation fails, kswapd is kicked so that it reclaims
> at a higher-order to avoid direct reclaimers stall and to help GFP_ATOMIC
> allocations. Something has changed in recent kernels that affect the timing
> where high-order GFP_ATOMIC allocations are now failing with more frequency,
> particularly under pressure. This patch forces kswapd to notice sooner that
> high-order allocations are occuring.
> 

"something has changed"?  Shouldn't we find out what that is?

> ---
>  mm/vmscan.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 64e4388..7eceb02 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -2016,6 +2016,15 @@ loop_again:
>  					priority != DEF_PRIORITY)
>  				continue;
>  
> +			/*
> +			 * Exit the function now and have kswapd start over
> +			 * if it is known that higher orders are required
> +			 */
> +			if (pgdat->kswapd_max_order > order) {
> +				all_zones_ok = 1;
> +				goto out;
> +			}
> +
>  			if (!zone_watermark_ok(zone, order,
>  					high_wmark_pages(zone), end_zone, 0))
>  				all_zones_ok = 0;

So this handles the case where some concurrent thread or interrupt
increases pgdat->kswapd_max_order while kswapd was running
balance_pgdat(), yes?

Does that actually happen much?  Enough for this patch to make any
useful difference?

If one where to whack a printk in that `if' block, how often would it
trigger, and under what circumstances?


If the -stable maintainers were to ask me "why did you send this" then
right now my answer would have to be "I have no idea".  Help.

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
Cc: stable@kernel.org, linux-kernel@vger.kernel.org,
	"linux-mm@kvack.org\"" <linux-mm@kvack.org>,
	Frans Pop <elendil@planet.nl>, Jiri Kosina <jkosina@suse.cz>,
	Sven Geggus <lists@fuchsschwanzdomain.de>,
	Karol Lewandowski <karol.k.lewandowski@gmail.com>,
	Tobias Oetiker <tobi@oetiker.ch>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	Rik van Riel <riel@redhat.com>,
	Christoph Lameter <cl@linux-foundation.org>,
	Stephan von Krawczynski <skraw@ithnet.com>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	Mel Gorman <mel@csn.ul.ie>
Subject: Re: [PATCH 3/3] vmscan: Force kswapd to take notice faster when high-order watermarks are being hit
Date: Tue, 27 Oct 2009 13:19:05 -0700	[thread overview]
Message-ID: <20091027131905.410ec04a.akpm@linux-foundation.org> (raw)
In-Reply-To: <1256650833-15516-4-git-send-email-mel@csn.ul.ie>

On Tue, 27 Oct 2009 13:40:33 +0000
Mel Gorman <mel@csn.ul.ie> wrote:

> When a high-order allocation fails, kswapd is kicked so that it reclaims
> at a higher-order to avoid direct reclaimers stall and to help GFP_ATOMIC
> allocations. Something has changed in recent kernels that affect the timing
> where high-order GFP_ATOMIC allocations are now failing with more frequency,
> particularly under pressure. This patch forces kswapd to notice sooner that
> high-order allocations are occuring.
> 

"something has changed"?  Shouldn't we find out what that is?

> ---
>  mm/vmscan.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 64e4388..7eceb02 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -2016,6 +2016,15 @@ loop_again:
>  					priority != DEF_PRIORITY)
>  				continue;
>  
> +			/*
> +			 * Exit the function now and have kswapd start over
> +			 * if it is known that higher orders are required
> +			 */
> +			if (pgdat->kswapd_max_order > order) {
> +				all_zones_ok = 1;
> +				goto out;
> +			}
> +
>  			if (!zone_watermark_ok(zone, order,
>  					high_wmark_pages(zone), end_zone, 0))
>  				all_zones_ok = 0;

So this handles the case where some concurrent thread or interrupt
increases pgdat->kswapd_max_order while kswapd was running
balance_pgdat(), yes?

Does that actually happen much?  Enough for this patch to make any
useful difference?

If one where to whack a printk in that `if' block, how often would it
trigger, and under what circumstances?


If the -stable maintainers were to ask me "why did you send this" then
right now my answer would have to be "I have no idea".  Help.

  parent reply	other threads:[~2009-10-27 20:19 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-27 13:40 [PATCH 0/3] Reduce GFP_ATOMIC allocation failures, partial fix V3 Mel Gorman
2009-10-27 13:40 ` Mel Gorman
2009-10-27 13:40 ` [PATCH 2/3] page allocator: Do not allow interrupts to use ALLOC_HARDER Mel Gorman
2009-10-27 13:40   ` Mel Gorman
     [not found]   ` <1256650833-15516-3-git-send-email-mel-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-10-27 20:09     ` Andrew Morton
2009-10-27 20:09       ` Andrew Morton
2009-10-27 20:09       ` Andrew Morton
     [not found]       ` <20091027130924.fa903f5a.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-10-27 21:12         ` David Rientjes
2009-10-27 21:12           ` David Rientjes
2009-10-27 21:12           ` David Rientjes
     [not found]           ` <alpine.DEB.2.00.0910271411530.9183-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2009-10-31 18:40             ` Pavel Machek
2009-10-31 18:40               ` Pavel Machek
2009-10-31 18:40               ` Pavel Machek
2009-10-31 19:51               ` David Rientjes
2009-10-31 19:51                 ` David Rientjes
2009-10-31 20:11                 ` Pavel Machek
2009-10-31 20:11                   ` Pavel Machek
     [not found]                   ` <20091031201158.GB29536-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2009-10-31 21:19                     ` David Rientjes
2009-10-31 21:19                       ` David Rientjes
2009-10-31 21:19                       ` David Rientjes
2009-10-31 22:29                       ` Pavel Machek
2009-10-31 22:29                         ` Pavel Machek
2009-10-31 22:55                         ` Rik van Riel
2009-10-31 22:55                           ` Rik van Riel
     [not found]                           ` <4AECC04B.9060808-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-11-01  7:35                             ` Pavel Machek
2009-11-01  7:35                               ` Pavel Machek
2009-11-01  7:35                               ` Pavel Machek
     [not found]                               ` <20091101073527.GB32720-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2009-11-01 12:37                                 ` KOSAKI Motohiro
2009-11-01 12:37                                   ` KOSAKI Motohiro
2009-11-01 12:37                                   ` KOSAKI Motohiro
2009-11-01 14:44                               ` Rik van Riel
2009-11-01 14:44                                 ` Rik van Riel
     [not found]                                 ` <4AED9EB4.5080601-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-11-01 19:32                                   ` Pavel Machek
2009-11-01 19:32                                     ` Pavel Machek
2009-11-01 19:32                                     ` Pavel Machek
2009-11-02 16:38                                 ` Christoph Lameter
2009-11-02 16:38                                   ` Christoph Lameter
2009-10-31 23:59                   ` Rik van Riel
2009-10-31 23:59                     ` Rik van Riel
2009-11-02 16:42                     ` Christoph Lameter
2009-11-02 16:42                       ` Christoph Lameter
2009-11-02 20:53                       ` David Rientjes
2009-11-02 20:53                         ` David Rientjes
2009-11-02 20:53                         ` David Rientjes
2009-11-03 17:10                         ` Christoph Lameter
2009-11-03 17:10                           ` Christoph Lameter
2009-11-04  1:46                           ` David Rientjes
2009-11-04  1:46                             ` David Rientjes
2009-11-04  1:46                             ` David Rientjes
     [not found]                             ` <alpine.DEB.2.00.0911031739380.1187-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2009-11-04  9:01                               ` Pavel Machek
2009-11-04  9:01                                 ` Pavel Machek
2009-11-04  9:01                                 ` Pavel Machek
     [not found]                                 ` <20091104090140.GA14694-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2009-11-09 10:11                                   ` Mel Gorman
2009-11-09 10:11                                     ` Mel Gorman
2009-11-09 10:11                                     ` Mel Gorman
2009-10-28 10:24       ` Mel Gorman
2009-10-28 10:24         ` Mel Gorman
2009-10-27 13:40 ` [PATCH 3/3] vmscan: Force kswapd to take notice faster when high-order watermarks are being hit Mel Gorman
2009-10-27 13:40   ` Mel Gorman
2009-10-27 18:18   ` Rik van Riel
2009-10-27 18:18   ` Rik van Riel
     [not found]   ` <1256650833-15516-4-git-send-email-mel-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-10-27 18:18     ` Rik van Riel
2009-10-27 20:19   ` Andrew Morton [this message]
2009-10-27 20:19     ` Andrew Morton
     [not found]     ` <20091027131905.410ec04a.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-10-28  3:54       ` KOSAKI Motohiro
2009-10-28  3:54         ` KOSAKI Motohiro
2009-10-28  3:54         ` KOSAKI Motohiro
2009-10-28 10:29       ` Mel Gorman
2009-10-28 10:29         ` Mel Gorman
2009-10-28 10:29         ` Mel Gorman
2009-10-28 19:47         ` Andrew Morton
2009-10-28 19:47           ` Andrew Morton
     [not found]           ` <20091028124756.7af44b6b.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-11-02 16:05             ` Mel Gorman
2009-11-02 16:05               ` Mel Gorman
2009-11-02 16:05               ` Mel Gorman
2009-11-02 17:32               ` Frans Pop
2009-11-02 17:32                 ` Frans Pop
     [not found]                 ` <200911021832.59035.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-11-02 17:38                   ` Mel Gorman
2009-11-02 17:38                     ` Mel Gorman
2009-11-02 17:38                     ` Mel Gorman
2009-11-02 20:36                     ` Mel Gorman
2009-11-02 20:36                       ` Mel Gorman
2009-11-03 22:01                     ` Frans Pop
     [not found]                       ` <200911032301.59662.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-11-03 22:08                         ` Mel Gorman
2009-11-03 22:08                           ` Mel Gorman
2009-11-03 22:08                           ` Mel Gorman
2009-11-04  0:01                           ` Frans Pop
2009-11-04  1:18                             ` Mel Gorman
2009-11-04  1:18                               ` Mel Gorman
     [not found]                               ` <20091104011811.GG22046-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-11-04  2:05                                 ` Frans Pop
2009-11-04  2:05                                   ` Frans Pop
2009-11-04  2:05                                   ` Frans Pop
2009-11-04  2:08                                   ` Frans Pop
2009-11-04  2:08                                     ` Frans Pop
     [not found]                                   ` <200911040305.59352.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-11-04 15:48                                     ` Mel Gorman
2009-11-04 15:48                                       ` Mel Gorman
2009-11-04 15:48                                       ` Mel Gorman
     [not found]                                       ` <20091104154853.GM22046-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-11-04 20:57                                         ` Frans Pop
2009-11-04 20:57                                           ` Frans Pop
2009-11-04 20:57                                           ` Frans Pop
     [not found]                                           ` <200911042157.25020.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-11-05 16:48                                             ` [PATCH 3/3] vmscan: Force kswapd to take notice faster when high-order watermarks are being hit (data on latencies available) Mel Gorman
2009-11-05 16:48                                               ` Mel Gorman
2009-11-05 16:48                                               ` Mel Gorman
     [not found]                                               ` <20091105164832.GB25926-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-11-12 11:36                                                 ` Frans Pop
2009-11-12 11:36                                                   ` Frans Pop
2009-11-12 11:36                                                   ` Frans Pop
2009-11-04  2:08                                 ` [PATCH 3/3] vmscan: Force kswapd to take notice faster when high-order watermarks are being hit Mel Gorman
2009-11-04  2:08                                   ` Mel Gorman
2009-11-04  2:08                                   ` Mel Gorman
     [not found] ` <1256650833-15516-1-git-send-email-mel-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-10-27 13:40   ` [PATCH 1/3] page allocator: Always wake kswapd when restarting an allocation attempt after direct reclaim failed Mel Gorman
2009-10-27 13:40     ` Mel Gorman
2009-10-27 13:40     ` Mel Gorman
2009-10-28 13:02   ` [PATCH 0/3] Reduce GFP_ATOMIC allocation failures, partial fix V3 Karol Lewandowski
2009-10-28 13:02     ` Karol Lewandowski
2009-10-28 13:02     ` Karol Lewandowski

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=20091027131905.410ec04a.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=cl@linux-foundation.org \
    --cc=elendil@planet.nl \
    --cc=jkosina@suse.cz \
    --cc=karol.k.lewandowski@gmail.com \
    --cc=kernel-testers@vger.kernel.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lists@fuchsschwanzdomain.de \
    --cc=mel@csn.ul.ie \
    --cc=penberg@cs.helsinki.fi \
    --cc=riel@redhat.com \
    --cc=skraw@ithnet.com \
    --cc=stable@kernel.org \
    --cc=tobi@oetiker.ch \
    /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.