lkml.org 
[lkml]   [2008]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: + memcg-remove-refcnt-from-page_cgroup.patch added to -mm tree
hi, I found a bug in this patch. (A fix is attached below.)

On Thu, 15 May 2008 19:53:17 -0700
akpm@linux-foundation.org wrote:

> +/* remove redundant charge if migration failed*/
> void mem_cgroup_end_migration(struct page *newpage)
> {
> - mem_cgroup_uncharge_page(newpage);
> + /* At success, page->mapping is not NULL */
> + if (newpage->mapping)
> + __mem_cgroup_uncharge_common(newpage,
> + MEM_CGROUP_CHARGE_TYPE_FORCE);
> }
>

Should be if (!newpage->mapping). Maybe a typo in restructuring...

Sorry.
-Kame
==
This rollback should be done at failure.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>

---
mm/memcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: mm-2.6.26-rc2-mm1/mm/memcontrol.c
===================================================================
--- mm-2.6.26-rc2-mm1.orig/mm/memcontrol.c
+++ mm-2.6.26-rc2-mm1/mm/memcontrol.c
@@ -760,8 +760,8 @@ int mem_cgroup_prepare_migration(struct
/* remove redundant charge if migration failed*/
void mem_cgroup_end_migration(struct page *newpage)
{
- /* At success, page->mapping is not NULL */
- if (newpage->mapping)
+ /* At success, page->mapping is not NULL and nothing to do. */
+ if (!newpage->mapping)
__mem_cgroup_uncharge_common(newpage,
MEM_CGROUP_CHARGE_TYPE_FORCE);
}


\
 
 \ /
  Last update: 2008-05-20 08:55    [W:0.377 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site