git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
sh64
/
mm
/
hugetlbpage.c
diff --git
a/arch/sh64/mm/hugetlbpage.c
b/arch/sh64/mm/hugetlbpage.c
index
50b2573
..
edbbc43
100644
(file)
--- a/
arch/sh64/mm/hugetlbpage.c
+++ b/
arch/sh64/mm/hugetlbpage.c
@@
-62,8
+62,8
@@
static void set_huge_pte(struct mm_struct *mm, struct vm_area_struct *vma,
unsigned long i;
pte_t entry;
unsigned long i;
pte_t entry;
- mm->rss += (HPAGE_SIZE / PAGE_SIZE);
-
+
//
mm->rss += (HPAGE_SIZE / PAGE_SIZE);
+ vx_rsspages_add(mm, HPAGE_SIZE / PAGE_SIZE);
if (write_access)
entry = pte_mkwrite(pte_mkdirty(mk_pte(page,
vma->vm_page_prot)));
if (write_access)
entry = pte_mkwrite(pte_mkdirty(mk_pte(page,
vma->vm_page_prot)));
@@
-115,7
+115,8
@@
int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src,
pte_val(entry) += PAGE_SIZE;
dst_pte++;
}
pte_val(entry) += PAGE_SIZE;
dst_pte++;
}
- dst->rss += (HPAGE_SIZE / PAGE_SIZE);
+ // dst->rss += (HPAGE_SIZE / PAGE_SIZE);
+ vx_rsspages_add(dst, HPAGE_SIZE / PAGE_SIZE);
addr += HPAGE_SIZE;
}
return 0;
addr += HPAGE_SIZE;
}
return 0;
@@
-206,7
+207,8
@@
void unmap_hugepage_range(struct vm_area_struct *vma,
pte++;
}
}
pte++;
}
}
- mm->rss -= (end - start) >> PAGE_SHIFT;
+ // mm->rss -= (end - start) >> PAGE_SHIFT;
+ vx_rsspages_sub(mm, (end - start) >> PAGE_SHIFT);
flush_tlb_range(vma, start, end);
}
flush_tlb_range(vma, start, end);
}