瀏覽代碼

mm: hwpoison: remove incorrect comments

dequeue_hwpoisoned_huge_page() can be called without page lock hold, so
let's remove incorrect comment.

The reason why the page lock is not really needed is that
dequeue_hwpoisoned_huge_page() checks page_huge_active() inside
hugetlb_lock, which allows us to avoid trying to dequeue a hugepage that
are just allocated but not linked to active list yet, even without
taking page lock.

Link: http://lkml.kernel.org/r/20160720092901.GA15995@www9186uo.sakura.ne.jp
Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Reported-by: Zhan Chen <zhanc1@andrew.cmu.edu>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Naoya Horiguchi 9 年之前
父節點
當前提交
7c7fd82556
共有 2 個文件被更改,包括 0 次插入3 次删除
  1. 0 1
      mm/hugetlb.c
  2. 0 2
      mm/memory-failure.c

+ 0 - 1
mm/hugetlb.c

@@ -4391,7 +4391,6 @@ follow_huge_pud(struct mm_struct *mm, unsigned long address,
 
 
 /*
 /*
  * This function is called from memory failure code.
  * This function is called from memory failure code.
- * Assume the caller holds page lock of the head page.
  */
  */
 int dequeue_hwpoisoned_huge_page(struct page *hpage)
 int dequeue_hwpoisoned_huge_page(struct page *hpage)
 {
 {

+ 0 - 2
mm/memory-failure.c

@@ -741,8 +741,6 @@ static int me_huge_page(struct page *p, unsigned long pfn)
 	 * page->lru because it can be used in other hugepage operations,
 	 * page->lru because it can be used in other hugepage operations,
 	 * such as __unmap_hugepage_range() and gather_surplus_pages().
 	 * such as __unmap_hugepage_range() and gather_surplus_pages().
 	 * So instead we use page_mapping() and PageAnon().
 	 * So instead we use page_mapping() and PageAnon().
-	 * We assume that this function is called with page lock held,
-	 * so there is no race between isolation and mapping/unmapping.
 	 */
 	 */
 	if (!(page_mapping(hpage) || PageAnon(hpage))) {
 	if (!(page_mapping(hpage) || PageAnon(hpage))) {
 		res = dequeue_hwpoisoned_huge_page(hpage);
 		res = dequeue_hwpoisoned_huge_page(hpage);