lkml.org 
[lkml]   [2016]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mm, thp: fix locking inconsistency in collapse_huge_page
On (06/06/16 15:05), Vlastimil Babka wrote:
[..]
> I think this does fix the inconsistency, thanks.
>
> But looking at collapse_huge_page() as of latest -next, I wonder if there's
> another problem:
>
> pmd = mm_find_pmd(mm, address);
> ...
> up_read(&mm->mmap_sem);
> down_write(&mm->mmap_sem);
> hugepage_vma_revalidate(mm, address);
> ...
> pte = pte_offset_map(pmd, address);
>
> What guarantees that 'pmd' is still valid?

the same question applied to __collapse_huge_page_swapin(), I think.

__collapse_huge_page_swapin(pmd)
pte = pte_offset_map(pmd, address);
do_swap_page(mm, vma, _address, pte, pmd...)
up_read(&mm->mmap_sem);
down_read(&mm->mmap_sem);
pte = pte_offset_map(pmd, _address);

-ss

\
 
 \ /
  Last update: 2016-06-09 06:21    [W:0.068 / U:0.684 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site