All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@suse.de>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] mm: page allocator: Reconsider zones for allocation after direct reclaim
Date: Thu, 14 Jul 2011 07:10:49 +0100	[thread overview]
Message-ID: <20110714061049.GK7529@suse.de> (raw)
In-Reply-To: <4E1E6086.4060902@jp.fujitsu.com>

On Thu, Jul 14, 2011 at 12:20:38PM +0900, KOSAKI Motohiro wrote:
> (2011/07/13 20:10), Mel Gorman wrote:
> > On Wed, Jul 13, 2011 at 09:42:39AM +0900, KOSAKI Motohiro wrote:
> >> (2011/07/11 22:01), Mel Gorman wrote:
> >>> With zone_reclaim_mode enabled, it's possible for zones to be considered
> >>> full in the zonelist_cache so they are skipped in the future. If the
> >>> process enters direct reclaim, the ZLC may still consider zones to be
> >>> full even after reclaiming pages. Reconsider all zones for allocation
> >>> if direct reclaim returns successfully.
> >>>
> >>> Signed-off-by: Mel Gorman <mgorman@suse.de>
> >>
> >> Hmmm...
> >>
> >> I like the concept, but I'm worry about a corner case a bit.
> >>
> >> If users are using cpusets/mempolicy, direct reclaim don't scan all zones.
> >> Then, zlc_clear_zones_full() seems too aggressive operation.
> > 
> > As the system is likely to be running slow if it is in direct reclaim
> > that the complexity of being careful about which zone was cleared was
> > not worth it.
> > 
> >> Instead, couldn't we turn zlc->fullzones off from kswapd?
> >>
> > 
> > Which zonelist should it clear (there are two) and when should it
> > happen? If it clears it on each cycle around balance_pgdat(), there
> > is no guarantee that it'll be cleared between when direct reclaim
> > finishes and an attempt is made to allocate.
> 
> Hmm..
> 
> Probably I'm now missing the point of this patch. Why do we need
> to guarantee tightly coupled zlc cache and direct reclaim?

Because direct reclaim may free enough memory such that the zlc cache
stating the zone is full is wrong.

> IIUC,
> zlc cache mean "to avoid free list touch if they have no free mem".
> So, any free page increasing point is acceptable good, I thought.
> In the other hand, direct reclaim finishing has no guarantee to
> zones of zonelist have enough free memory because it has bailing out logic.
> 

It has no guarantee but there is a reasonable expectation that direct
reclaim will free some memory that means we should reconsider the
zone for allocation.

> So, I think we don't need to care zonelist, just kswapd turn off
> their own node.
> 

I don't understand what you mean by this.

> And, just curious, If we will have a proper zlc clear point, why
> do we need to keep HZ timeout?
> 

Yes because we are not guaranteed to call direct reclaim either. Memory
could be freed by a process exiting and I'd rather not add cost to
the free path to find and clear all zonelists referencing the zone the
page being freed belongs to.

-- 
Mel Gorman
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mgorman@suse.de>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] mm: page allocator: Reconsider zones for allocation after direct reclaim
Date: Thu, 14 Jul 2011 07:10:49 +0100	[thread overview]
Message-ID: <20110714061049.GK7529@suse.de> (raw)
In-Reply-To: <4E1E6086.4060902@jp.fujitsu.com>

On Thu, Jul 14, 2011 at 12:20:38PM +0900, KOSAKI Motohiro wrote:
> (2011/07/13 20:10), Mel Gorman wrote:
> > On Wed, Jul 13, 2011 at 09:42:39AM +0900, KOSAKI Motohiro wrote:
> >> (2011/07/11 22:01), Mel Gorman wrote:
> >>> With zone_reclaim_mode enabled, it's possible for zones to be considered
> >>> full in the zonelist_cache so they are skipped in the future. If the
> >>> process enters direct reclaim, the ZLC may still consider zones to be
> >>> full even after reclaiming pages. Reconsider all zones for allocation
> >>> if direct reclaim returns successfully.
> >>>
> >>> Signed-off-by: Mel Gorman <mgorman@suse.de>
> >>
> >> Hmmm...
> >>
> >> I like the concept, but I'm worry about a corner case a bit.
> >>
> >> If users are using cpusets/mempolicy, direct reclaim don't scan all zones.
> >> Then, zlc_clear_zones_full() seems too aggressive operation.
> > 
> > As the system is likely to be running slow if it is in direct reclaim
> > that the complexity of being careful about which zone was cleared was
> > not worth it.
> > 
> >> Instead, couldn't we turn zlc->fullzones off from kswapd?
> >>
> > 
> > Which zonelist should it clear (there are two) and when should it
> > happen? If it clears it on each cycle around balance_pgdat(), there
> > is no guarantee that it'll be cleared between when direct reclaim
> > finishes and an attempt is made to allocate.
> 
> Hmm..
> 
> Probably I'm now missing the point of this patch. Why do we need
> to guarantee tightly coupled zlc cache and direct reclaim?

Because direct reclaim may free enough memory such that the zlc cache
stating the zone is full is wrong.

> IIUC,
> zlc cache mean "to avoid free list touch if they have no free mem".
> So, any free page increasing point is acceptable good, I thought.
> In the other hand, direct reclaim finishing has no guarantee to
> zones of zonelist have enough free memory because it has bailing out logic.
> 

It has no guarantee but there is a reasonable expectation that direct
reclaim will free some memory that means we should reconsider the
zone for allocation.

> So, I think we don't need to care zonelist, just kswapd turn off
> their own node.
> 

I don't understand what you mean by this.

> And, just curious, If we will have a proper zlc clear point, why
> do we need to keep HZ timeout?
> 

Yes because we are not guaranteed to call direct reclaim either. Memory
could be freed by a process exiting and I'd rather not add cost to
the free path to find and clear all zonelists referencing the zone the
page being freed belongs to.

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

  reply	other threads:[~2011-07-14  6:10 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-11 13:01 [RFC PATCH 0/3] Reduce frequency of stalls due to zone_reclaim() on NUMA Mel Gorman
2011-07-11 13:01 ` Mel Gorman
2011-07-11 13:01 ` [PATCH 1/3] mm: vmscan: Do use use PF_SWAPWRITE from zone_reclaim Mel Gorman
2011-07-11 13:01   ` Mel Gorman
2011-07-12  9:27   ` Minchan Kim
2011-07-12  9:27     ` Minchan Kim
2011-07-12  9:40     ` KOSAKI Motohiro
2011-07-12  9:40       ` KOSAKI Motohiro
2011-07-12  9:55       ` Minchan Kim
2011-07-12  9:55         ` Minchan Kim
2011-07-12 15:43         ` Christoph Lameter
2011-07-12 15:43           ` Christoph Lameter
2011-07-13 10:40           ` Mel Gorman
2011-07-13 10:40             ` Mel Gorman
2011-07-12 10:14       ` Mel Gorman
2011-07-12 10:14         ` Mel Gorman
2011-07-13  0:34         ` KOSAKI Motohiro
2011-07-13  0:34           ` KOSAKI Motohiro
2011-07-11 13:01 ` [PATCH 2/3] mm: page allocator: Initialise ZLC for first zone eligible for zone_reclaim Mel Gorman
2011-07-11 13:01   ` Mel Gorman
2011-07-13  1:15   ` KOSAKI Motohiro
2011-07-13  1:15     ` KOSAKI Motohiro
2011-07-13 11:02     ` Mel Gorman
2011-07-13 11:02       ` Mel Gorman
2011-07-14  1:20       ` KOSAKI Motohiro
2011-07-14  1:20         ` KOSAKI Motohiro
2011-07-14  6:11         ` Mel Gorman
2011-07-14  6:11           ` Mel Gorman
2011-07-11 13:01 ` [PATCH 3/3] mm: page allocator: Reconsider zones for allocation after direct reclaim Mel Gorman
2011-07-11 13:01   ` Mel Gorman
2011-07-13  0:42   ` KOSAKI Motohiro
2011-07-13  0:42     ` KOSAKI Motohiro
2011-07-13 11:10     ` Mel Gorman
2011-07-13 11:10       ` Mel Gorman
2011-07-14  3:20       ` KOSAKI Motohiro
2011-07-14  3:20         ` KOSAKI Motohiro
2011-07-14  6:10         ` Mel Gorman [this message]
2011-07-14  6:10           ` Mel Gorman
2011-07-21  9:35           ` KOSAKI Motohiro
2011-07-21  9:35             ` KOSAKI Motohiro
2011-07-21 10:31             ` Mel Gorman
2011-07-21 10:31               ` Mel Gorman
  -- strict thread matches above, loose matches on Subject: below --
2011-07-15 14:59 [PATCH 0/2] Reduce frequency of stalls due to zone_reclaim() on NUMA v2 Mel Gorman
2011-07-15 14:59 ` [PATCH 3/3] mm: page allocator: Reconsider zones for allocation after direct reclaim Mel Gorman
2011-07-15 14:59   ` Mel Gorman

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=20110714061049.GK7529@suse.de \
    --to=mgorman@suse.de \
    --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.