All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Subject: Re: [PATCH] vmscan: skip freeing memory from zones with lots free
Date: Sat, 29 Nov 2008 12:58:32 -0500	[thread overview]
Message-ID: <493182C8.1080303@redhat.com> (raw)
In-Reply-To: <20081129094537.a224098a.akpm@linux-foundation.org>

Andrew Morton wrote:
> On Sat, 29 Nov 2008 11:47:25 -0500 Rik van Riel <riel@redhat.com> wrote:
> 
>> Andrew Morton wrote:
>>
>>>> Index: linux-2.6.28-rc5/mm/vmscan.c
>>>> ===================================================================
>>>> --- linux-2.6.28-rc5.orig/mm/vmscan.c	2008-11-28 05:53:56.000000000 -0500
>>>> +++ linux-2.6.28-rc5/mm/vmscan.c	2008-11-28 06:05:29.000000000 -0500
>>>> @@ -1510,6 +1510,9 @@ static unsigned long shrink_zones(int pr
>>>>  			if (zone_is_all_unreclaimable(zone) &&
>>>>  						priority != DEF_PRIORITY)
>>>>  				continue;	/* Let kswapd poll it */
>>>> +			if (zone_watermark_ok(zone, sc->order,
>>>> +					4*zone->pages_high, high_zoneidx, 0))
>>>> +				continue;	/* Lots free already */
>>>>  			sc->all_unreclaimable = 0;
>>>>  		} else {
>>>>  			/*
>>> We already tried this, or something very similar in effect, I think...
>> Yes, we have a check just like this in balance_pgdat().
>>
>> It's been there forever with no ill effect.
> 
> This patch affects direct reclaim as well as kswapd.

No, kswapd calls shrink_zone directly from balance_pgdat,
it does not go through shrink_zones.

>>> commit 26e4931632352e3c95a61edac22d12ebb72038fe
>>> Author: akpm <akpm>
>>> Date:   Sun Sep 8 19:21:55 2002 +0000
>>>
>>>     [PATCH] refill the inactive list more quickly
>>>     
>>>     Fix a problem noticed by Ed Tomlinson: under shifting workloads the
>>>     shrink_zone() logic will refill the inactive load too slowly.
>>>     
>>>     Bale out of the zone scan when we've reclaimed enough pages.  Fixes a
>>>     rarely-occurring problem wherein refill_inactive_zone() ends up
>>>     shuffling 100,000 pages and generally goes silly.
>> This is not a bale out, this is a "skip zones that have way
>> too many free pages already".
> 
> It is similar in effect.
> 
> Will this new patch reintroduce the problem which
> 26e4931632352e3c95a61edac22d12ebb72038fe fixed?

Googling on 26e4931632352e3c95a61edac22d12ebb72038fe only finds
your emails with that commit id in it - which git tree do I
need to search to get that changeset?

-- 
All rights reversed.

WARNING: multiple messages have this Message-ID (diff)
From: Rik van Riel <riel@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Subject: Re: [PATCH] vmscan: skip freeing memory from zones with lots free
Date: Sat, 29 Nov 2008 12:58:32 -0500	[thread overview]
Message-ID: <493182C8.1080303@redhat.com> (raw)
In-Reply-To: <20081129094537.a224098a.akpm@linux-foundation.org>

Andrew Morton wrote:
> On Sat, 29 Nov 2008 11:47:25 -0500 Rik van Riel <riel@redhat.com> wrote:
> 
>> Andrew Morton wrote:
>>
>>>> Index: linux-2.6.28-rc5/mm/vmscan.c
>>>> ===================================================================
>>>> --- linux-2.6.28-rc5.orig/mm/vmscan.c	2008-11-28 05:53:56.000000000 -0500
>>>> +++ linux-2.6.28-rc5/mm/vmscan.c	2008-11-28 06:05:29.000000000 -0500
>>>> @@ -1510,6 +1510,9 @@ static unsigned long shrink_zones(int pr
>>>>  			if (zone_is_all_unreclaimable(zone) &&
>>>>  						priority != DEF_PRIORITY)
>>>>  				continue;	/* Let kswapd poll it */
>>>> +			if (zone_watermark_ok(zone, sc->order,
>>>> +					4*zone->pages_high, high_zoneidx, 0))
>>>> +				continue;	/* Lots free already */
>>>>  			sc->all_unreclaimable = 0;
>>>>  		} else {
>>>>  			/*
>>> We already tried this, or something very similar in effect, I think...
>> Yes, we have a check just like this in balance_pgdat().
>>
>> It's been there forever with no ill effect.
> 
> This patch affects direct reclaim as well as kswapd.

No, kswapd calls shrink_zone directly from balance_pgdat,
it does not go through shrink_zones.

>>> commit 26e4931632352e3c95a61edac22d12ebb72038fe
>>> Author: akpm <akpm>
>>> Date:   Sun Sep 8 19:21:55 2002 +0000
>>>
>>>     [PATCH] refill the inactive list more quickly
>>>     
>>>     Fix a problem noticed by Ed Tomlinson: under shifting workloads the
>>>     shrink_zone() logic will refill the inactive load too slowly.
>>>     
>>>     Bale out of the zone scan when we've reclaimed enough pages.  Fixes a
>>>     rarely-occurring problem wherein refill_inactive_zone() ends up
>>>     shuffling 100,000 pages and generally goes silly.
>> This is not a bale out, this is a "skip zones that have way
>> too many free pages already".
> 
> It is similar in effect.
> 
> Will this new patch reintroduce the problem which
> 26e4931632352e3c95a61edac22d12ebb72038fe fixed?

Googling on 26e4931632352e3c95a61edac22d12ebb72038fe only finds
your emails with that commit id in it - which git tree do I
need to search to get that changeset?

-- 
All rights reversed.

--
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:[~2008-11-29 17:58 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-28 11:08 [PATCH] vmscan: skip freeing memory from zones with lots free Rik van Riel
2008-11-28 11:08 ` Rik van Riel
2008-11-28 11:30 ` Peter Zijlstra
2008-11-28 11:30   ` Peter Zijlstra
2008-11-28 22:43 ` Johannes Weiner
2008-11-28 22:43   ` Johannes Weiner
2008-11-29  7:19 ` Andrew Morton
2008-11-29  7:19   ` Andrew Morton
2008-11-29 10:55   ` KOSAKI Motohiro
2008-11-29 10:55     ` KOSAKI Motohiro
2008-12-08 13:00     ` KOSAKI Motohiro
2008-12-08 13:00       ` KOSAKI Motohiro
2008-12-08 13:03       ` KOSAKI Motohiro
2008-12-08 13:03         ` KOSAKI Motohiro
2008-12-08 17:48         ` KOSAKI Motohiro
2008-12-08 17:48           ` KOSAKI Motohiro
2008-12-10  5:07           ` Nick Piggin
2008-12-10  5:07             ` Nick Piggin
2008-12-08 20:25         ` Rik van Riel
2008-12-08 20:25           ` Rik van Riel
2008-12-10  5:09           ` Nick Piggin
2008-12-10  5:09             ` Nick Piggin
2008-12-12  5:50           ` KOSAKI Motohiro
2008-11-29 16:47   ` Rik van Riel
2008-11-29 16:47     ` Rik van Riel
2008-11-29 17:45     ` Andrew Morton
2008-11-29 17:45       ` Andrew Morton
2008-11-29 17:58       ` Rik van Riel [this message]
2008-11-29 17:58         ` Rik van Riel
2008-11-29 18:26         ` Andrew Morton
2008-11-29 18:26           ` Andrew Morton
2008-11-29 18:41           ` Rik van Riel
2008-11-29 18:41             ` Rik van Riel
2008-11-29 18:51             ` Andrew Morton
2008-11-29 18:51               ` Andrew Morton
2008-11-29 18:59               ` Rik van Riel
2008-11-29 18:59                 ` Rik van Riel
2008-11-29 20:29                 ` Andrew Morton
2008-11-29 20:29                   ` Andrew Morton
2008-11-29 21:35                   ` Rik van Riel
2008-11-29 21:35                     ` Rik van Riel
2008-11-29 21:57                     ` Andrew Morton
2008-11-29 21:57                       ` Andrew Morton
2008-11-29 22:07                       ` Rik van Riel
2008-11-29 22:07                         ` Rik van Riel

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=493182C8.1080303@redhat.com \
    --to=riel@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /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.