linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [-mm] Make the memory controller more desktop responsive
@ 2008-04-03  9:32 Balbir Singh
  2008-04-03  9:43 ` KAMEZAWA Hiroyuki
  0 siblings, 1 reply; 4+ messages in thread
From: Balbir Singh @ 2008-04-03  9:32 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Hugh Dickins, Sudhir Kumar, YAMAMOTO Takashi, Paul Menage, lizf,
	linux-kernel, taka, linux-mm, David Rientjes, Pavel Emelianov,
	Balbir Singh, KAMEZAWA Hiroyuki



This patch makes the memory controller more responsive on my desktop.

Here is what the patch does

1. Reduces the number of retries to 2. We had 5 earlier, since we
   were controlling swap cache as well. We pushed data from mappings
   to swap cache and we needed additional passes to clear out the cache.
2. It sets all cached pages as inactive. We were by default marking
   all pages as active, thus forcing us to go through two passes for
   reclaiming pages
3. Removes congestion_wait(), since we already have that logic in
   do_try_to_free_pages()

Comments? Flames?

The patch is against 2.6.25-rc8-mm1

Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
---

 mm/memcontrol.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff -puN mm/memcontrol.c~memory-controller-improve-responsiveness mm/memcontrol.c
--- linux-2.6.25-rc8/mm/memcontrol.c~memory-controller-improve-responsiveness	2008-04-03 13:07:17.000000000 +0530
+++ linux-2.6.25-rc8-balbir/mm/memcontrol.c	2008-04-03 14:02:27.000000000 +0530
@@ -35,7 +35,7 @@
 #include <asm/uaccess.h>
 
 struct cgroup_subsys mem_cgroup_subsys;
-static const int MEM_CGROUP_RECLAIM_RETRIES = 5;
+static const int MEM_CGROUP_RECLAIM_RETRIES = 2;
 static struct kmem_cache *page_cgroup_cache;
 
 /*
@@ -604,7 +604,6 @@ retry:
 			mem_cgroup_out_of_memory(mem, gfp_mask);
 			goto out;
 		}
-		congestion_wait(WRITE, HZ/10);
 	}
 
 	pc->ref_cnt = 1;
@@ -612,7 +611,7 @@ retry:
 	pc->page = page;
 	pc->flags = PAGE_CGROUP_FLAG_ACTIVE;
 	if (ctype == MEM_CGROUP_CHARGE_TYPE_CACHE)
-		pc->flags |= PAGE_CGROUP_FLAG_CACHE;
+		pc->flags = PAGE_CGROUP_FLAG_CACHE;
 
 	lock_page_cgroup(page);
 	if (page_get_page_cgroup(page)) {
_

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [-mm] Make the memory controller more desktop responsive
  2008-04-03  9:32 [-mm] Make the memory controller more desktop responsive Balbir Singh
@ 2008-04-03  9:43 ` KAMEZAWA Hiroyuki
  2008-04-03  9:44   ` Balbir Singh
  0 siblings, 1 reply; 4+ messages in thread
From: KAMEZAWA Hiroyuki @ 2008-04-03  9:43 UTC (permalink / raw)
  To: Balbir Singh
  Cc: Andrew Morton, Hugh Dickins, Sudhir Kumar, YAMAMOTO Takashi,
	Paul Menage, lizf, linux-kernel, taka, linux-mm, David Rientjes,
	Pavel Emelianov

On Thu, 03 Apr 2008 15:02:53 +0530
Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> This patch makes the memory controller more responsive on my desktop.
> 
> Here is what the patch does
> 
> 1. Reduces the number of retries to 2. We had 5 earlier, since we
>    were controlling swap cache as well. We pushed data from mappings
>    to swap cache and we needed additional passes to clear out the cache.

Hmm, what this change improves ?
I don't want to see OOM.

> 2. It sets all cached pages as inactive. We were by default marking
>    all pages as active, thus forcing us to go through two passes for
>    reclaiming pages
Agreed.

> 3. Removes congestion_wait(), since we already have that logic in
>    do_try_to_free_pages()
> 
Agreed.

Thanks,
-Kame

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [-mm] Make the memory controller more desktop responsive
  2008-04-03  9:43 ` KAMEZAWA Hiroyuki
@ 2008-04-03  9:44   ` Balbir Singh
  2008-04-03  9:55     ` KAMEZAWA Hiroyuki
  0 siblings, 1 reply; 4+ messages in thread
From: Balbir Singh @ 2008-04-03  9:44 UTC (permalink / raw)
  To: KAMEZAWA Hiroyuki
  Cc: Andrew Morton, Hugh Dickins, Sudhir Kumar, YAMAMOTO Takashi,
	Paul Menage, lizf, linux-kernel, taka, linux-mm, David Rientjes,
	Pavel Emelianov

KAMEZAWA Hiroyuki wrote:
> On Thu, 03 Apr 2008 15:02:53 +0530
> Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
>> This patch makes the memory controller more responsive on my desktop.
>>
>> Here is what the patch does
>>
>> 1. Reduces the number of retries to 2. We had 5 earlier, since we
>>    were controlling swap cache as well. We pushed data from mappings
>>    to swap cache and we needed additional passes to clear out the cache.
> 
> Hmm, what this change improves ?
> I don't want to see OOM.
> 

I had set it to 5 earlier, since the swap cache came back to our memory
controller, where it was accounted. I have not seen OOM with it on my desktop,
but at some point if the memory required is so much that we cannot fulfill it,
we do OOM. I have not seen any OOM so far with these changes.

>> 2. It sets all cached pages as inactive. We were by default marking
>>    all pages as active, thus forcing us to go through two passes for
>>    reclaiming pages
> Agreed.
> 
>> 3. Removes congestion_wait(), since we already have that logic in
>>    do_try_to_free_pages()
>>
> Agreed.


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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [-mm] Make the memory controller more desktop responsive
  2008-04-03  9:44   ` Balbir Singh
@ 2008-04-03  9:55     ` KAMEZAWA Hiroyuki
  0 siblings, 0 replies; 4+ messages in thread
From: KAMEZAWA Hiroyuki @ 2008-04-03  9:55 UTC (permalink / raw)
  To: balbir
  Cc: Andrew Morton, Hugh Dickins, Sudhir Kumar, YAMAMOTO Takashi,
	Paul Menage, lizf, linux-kernel, taka, linux-mm, David Rientjes,
	Pavel Emelianov

On Thu, 03 Apr 2008 15:14:32 +0530
Balbir Singh <balbir@linux.vnet.ibm.com> wrote:

> KAMEZAWA Hiroyuki wrote:
> > On Thu, 03 Apr 2008 15:02:53 +0530
> > Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> >> This patch makes the memory controller more responsive on my desktop.
> >>
> >> Here is what the patch does
> >>
> >> 1. Reduces the number of retries to 2. We had 5 earlier, since we
> >>    were controlling swap cache as well. We pushed data from mappings
> >>    to swap cache and we needed additional passes to clear out the cache.
> > 
> > Hmm, what this change improves ?
> > I don't want to see OOM.
> > 
> 
> I had set it to 5 earlier, since the swap cache came back to our memory
> controller, where it was accounted. I have not seen OOM with it on my desktop,
> but at some point if the memory required is so much that we cannot fulfill it,
> we do OOM. I have not seen any OOM so far with these changes.
> 
Hmm, I'm now testing swap-cache accounting patch.
It seems I should check this value again.

Thanks,
-Kame

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-04-03  9:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-03  9:32 [-mm] Make the memory controller more desktop responsive Balbir Singh
2008-04-03  9:43 ` KAMEZAWA Hiroyuki
2008-04-03  9:44   ` Balbir Singh
2008-04-03  9:55     ` KAMEZAWA Hiroyuki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox