linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: linux-mm@kvack.org, Hugh Dickins <hugh@veritas.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	YAMAMOTO Takashi <yamamoto@valinux.co.jp>,
	Paul Menage <menage@google.com>,
	Lee Schermerhorn <Lee.Schermerhorn@hp.com>,
	Herbert Poetzl <herbert@13thfloor.at>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	David Rientjes <rientjes@google.com>,
	Pavel Emelianov <xemul@openvz.org>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	Rik Van Riel <riel@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [RFC] [PATCH 3/4] Reclaim from groups over their soft limit under memory pressure
Date: Thu, 14 Feb 2008 13:10:35 +0530	[thread overview]
Message-ID: <47B3F073.1070804@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080214163054.81deaf27.kamezawa.hiroyu@jp.fujitsu.com>

KAMEZAWA Hiroyuki wrote:
> On Wed, 13 Feb 2008 20:42:42 +0530
> Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> 
>> +	read_lock_irqsave(&mem_cgroup_sl_list_lock, flags);
>> +	while (!list_empty(&mem_cgroup_sl_exceeded_list)) {
>> +		mem = list_first_entry(&mem_cgroup_sl_exceeded_list,
>> +				struct mem_cgroup, sl_exceeded_list);
>> +		list_move(&mem->sl_exceeded_list, &reclaimed_groups);
>> +		read_unlock_irqrestore(&mem_cgroup_sl_list_lock, flags);
>> +
>> +		nr_bytes_over_sl = res_counter_sl_excess(&mem->res);
>> +		if (nr_bytes_over_sl <= 0)
>> +			goto next;
>> +		nr_pages = (nr_bytes_over_sl >> PAGE_SHIFT);
>> +		ret += try_to_free_mem_cgroup_pages(mem, gfp_mask, nr_pages,
>> +							zones);
>> +next:
>> +		read_lock_irqsave(&mem_cgroup_sl_list_lock, flags);
> 
> Hmm... 
> This is triggered by page allocation failure (fast path) in alloc_pages()
> after try_to_free_pages(). 

We trigger it prior to try_to_free_pages() in __alloc_pages()

Then, what pages should be reclaimed is
> depends on zones[]. Because nr-bytes_over_sl is counted globally, cgroup's
> pages may not be included in zones[].
> 

True, that is quite possible.

> And I think it's big workload to relclaim all excessed pages at once.
> 
> How about just reclaiming small # of pages ? like
> ==
> if (nr_bytes_over_sl <= 0)
> 	goto next;
> nr_pages = SWAP_CLUSTER_MAX;

I thought about this, but wanted to push back all groups over their soft limit
back to their soft limit quickly. I'll experiment with your suggestion and see
how the system behaves when we push back pages slowly. Thanks for the suggestion.

> ==
> 
> Regards,
> -Kame


-- 
	Warm Regards,
	Balbir Singh
	Linux Technology Center
	IBM, ISTL

--
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-02-14  7:43 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-13 15:12 [RFC] [PATCH 0/4] Add soft limits to the memory controller Balbir Singh
2008-02-13 15:12 ` [RFC] [PATCH 1/4] Modify resource counters to add soft limit support Balbir Singh
2008-02-13 17:12   ` Pavel Emelyanov
2008-02-13 17:19     ` Balbir Singh
2008-02-13 17:38       ` Pavel Emelyanov
2008-02-13 17:54         ` Balbir Singh
2008-02-13 15:12 ` [RFC] [PATCH 2/4] Add the soft limit interface Balbir Singh
2008-02-13 15:12 ` [RFC] [PATCH 3/4] Reclaim from groups over their soft limit under memory pressure Balbir Singh
2008-02-14  7:30   ` KAMEZAWA Hiroyuki
2008-02-14  7:40     ` Balbir Singh [this message]
2008-02-14  8:42       ` KAMEZAWA Hiroyuki
2008-02-14  9:16         ` Balbir Singh
2008-02-15  4:17           ` Paul Menage
2008-02-15  4:25             ` Balbir Singh
2008-02-15  5:07               ` KAMEZAWA Hiroyuki
2008-02-15  5:16                 ` Paul Menage
2008-02-15  5:18                   ` Balbir Singh
2008-02-15  5:30                     ` Paul Menage
2008-02-15  5:33                     ` KAMEZAWA Hiroyuki
2008-02-15  5:29                   ` KAMEZAWA Hiroyuki
2008-02-15  6:36                     ` Balbir Singh
2008-02-14 10:27   ` YAMAMOTO Takashi
2008-02-15  3:19     ` Balbir Singh
2008-02-13 15:12 ` [RFC] [PATCH 4/4] Add soft limit documentation Balbir Singh
2008-02-13 15:59   ` Randy Dunlap
2008-02-13 16:08     ` Balbir Singh

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=47B3F073.1070804@linux.vnet.ibm.com \
    --to=balbir@linux.vnet.ibm.com \
    --cc=Lee.Schermerhorn@hp.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=herbert@13thfloor.at \
    --cc=hugh@veritas.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-mm@kvack.org \
    --cc=menage@google.com \
    --cc=nickpiggin@yahoo.com.au \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=xemul@openvz.org \
    --cc=yamamoto@valinux.co.jp \
    /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).