[3.13.y.z extended stable] Patch "mm/numa: Remove BUG_ON() in __handle_mm_fault()" has been added to staging queue

Kamal Mostafa kamal at canonical.com
Tue Jun 10 16:37:40 UTC 2014


This is a note to let you know that I have just added a patch titled

    mm/numa: Remove BUG_ON() in __handle_mm_fault()

to the linux-3.13.y-queue branch of the 3.13.y.z extended stable tree 
which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.13.y-queue

This patch is scheduled to be released in version 3.13.11.3.

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.13.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Kamal

------

>From 1e6c38ef7f0118700c3c4e41293e347558cb0463 Mon Sep 17 00:00:00 2001
From: Rik van Riel <riel at redhat.com>
Date: Tue, 29 Apr 2014 15:36:15 -0400
Subject: mm/numa: Remove BUG_ON() in __handle_mm_fault()

commit 107437febd495a50e2cd09c81bbaa84d30e57b07 upstream.

Changing PTEs and PMDs to pte_numa & pmd_numa is done with the
mmap_sem held for reading, which means a pmd can be instantiated
and turned into a numa one while __handle_mm_fault() is examining
the value of old_pmd.

If that happens, __handle_mm_fault() should just return and let
the page fault retry, instead of throwing an oops. This is
handled by the test for pmd_trans_huge(*pmd) below.

Signed-off-by: Rik van Riel <riel at redhat.com>
Reviewed-by: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
Reported-by: Sunil Pandey <sunil.k.pandey at intel.com>
Signed-off-by: Peter Zijlstra <peterz at infradead.org>
Cc: Andrew Morton <akpm at linux-foundation.org>
Cc: Johannes Weiner <hannes at cmpxchg.org>
Cc: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Cc: Linus Torvalds <torvalds at linux-foundation.org>
Cc: Mel Gorman <mgorman at suse.de>
Cc: linux-mm at kvack.org
Cc: lwoodman at redhat.com
Cc: dave.hansen at intel.com
Link: http://lkml.kernel.org/r/20140429153615.2d72098e@annuminas.surriel.com
Signed-off-by: Ingo Molnar <mingo at kernel.org>
Cc: Paul Gortmaker <paul.gortmaker at windriver.com>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 mm/memory.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index dda27b9..95257f5 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -3747,9 +3747,6 @@ static int __handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma,
 		}
 	}

-	/* THP should already have been handled */
-	BUG_ON(pmd_numa(*pmd));
-
 	/*
 	 * Use __pte_alloc instead of pte_alloc_map, because we can't
 	 * run pte_offset_map on the pmd, if an huge pmd could
--
1.9.1





More information about the kernel-team mailing list