[PATCH][mm/memory.c]: transparent hugepage check condition missed

From: GuanJun He
Date: Mon Oct 31 2011 - 06:57:03 EST


For the transparent hugepage module still does not support
tmpfs and cache,the check condition should always be checked
to make sure that it only affect the anonymous maps, the
original check condition missed this, this patch is to fix this.
Otherwise,the hugepage may affect the file-backed maps,
then the cache for the small-size pages will be unuseful,
and till now there is still no implementation for hugepage's cache.

Signed-off-by: Guanjun He <gjhe@xxxxxxxx>
---
mm/memory.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index a56e3ba..79b85fe 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -3475,7 +3475,8 @@ int handle_mm_fault(struct mm_struct *mm, struct
vm_area_struct *vma,
if (pmd_trans_huge(orig_pmd)) {
if (flags & FAULT_FLAG_WRITE &&
!pmd_write(orig_pmd) &&
- !pmd_trans_splitting(orig_pmd))
+ !pmd_trans_splitting(orig_pmd) &&
+ !vma->vm_ops)
return do_huge_pmd_wp_page(mm, vma, address,
pmd, orig_pmd);
return 0;
--
--
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/