Re: 2.6.26-rc5-mm1

From: Balbir Singh
Date: Mon Jun 09 2008 - 13:23:16 EST


* Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> [2008-06-09 22:50:49]:

> Andrew Morton wrote:
> >
> > +memrlimit-add-memrlimit-controller-documentation.patch
> > +memrlimit-setup-the-memrlimit-controller.patch
> > +memrlimit-cgroup-mm-owner-callback-changes-to-add-task-info.patch
> > +memrlimit-add-memrlimit-controller-accounting-and-control.patch
> >
> > New cgroup conrtoller
> >

Hi, Andrew,

There seems to be a merge fuzz, sorry for not catching it when you sent the mm
merge email

What I sent was

@@ -2056,6 +2058,7 @@ void exit_mmap(struct mm_struct *mm)
/* Use -1 here to ensure all VMAs in the mm are unmapped */
end = unmap_vmas(&tlb, vma, 0, -1, &nr_accounted, NULL);
vm_unacct_memory(nr_accounted);
+ memrlimit_cgroup_uncharge_as(mm, mm->total_vm);

What got merged is

@@ -1756,7 +1783,8 @@ static void unmap_region(struct mm_struc
update_hiwater_rss(mm);
unmap_vmas(&tlb, vma, start, end, &nr_accounted, NULL);
vm_unacct_memory(nr_accounted);
- free_pgtables(&tlb, vma, prev? prev->vm_end: FIRST_USER_ADDRESS,
+ memrlimit_cgroup_uncharge_as(mm, mm->total_vm);

Here's a patch to fix the problem


Signed-off-by: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>
---

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

diff -puN mm/memory.c~memrlimit-fix-fuzz-in-merge mm/memory.c
diff -puN mm/mmap.c~memrlimit-fix-fuzz-in-merge mm/mmap.c
--- linux-2.6.26-rc5/mm/mmap.c~memrlimit-fix-fuzz-in-merge 2008-06-09 22:49:49.000000000 +0530
+++ linux-2.6.26-rc5-balbir/mm/mmap.c 2008-06-09 22:50:13.000000000 +0530
@@ -1783,7 +1783,6 @@ static void unmap_region(struct mm_struc
update_hiwater_rss(mm);
unmap_vmas(&tlb, vma, start, end, &nr_accounted, NULL);
vm_unacct_memory(nr_accounted);
- memrlimit_cgroup_uncharge_as(mm, mm->total_vm);
free_pgtables(tlb, vma, prev? prev->vm_end: FIRST_USER_ADDRESS,
next? next->vm_start: 0);
tlb_finish_mmu(tlb, start, end);
@@ -2111,6 +2110,7 @@ void exit_mmap(struct mm_struct *mm)
/* Use -1 here to ensure all VMAs in the mm are unmapped */
end = unmap_vmas(&tlb, vma, 0, -1, &nr_accounted, NULL);
vm_unacct_memory(nr_accounted);
+ memrlimit_cgroup_uncharge_as(mm, mm->total_vm);
free_pgtables(tlb, vma, FIRST_USER_ADDRESS, 0);
tlb_finish_mmu(tlb, 0, end);

_


--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/