On 11/13/2013 05:07 PM, Richard Weinberger wrote: > Am 13.11.2013 06:06, schrieb Chen Gang: >> Unfortunately, p?d_alloc() and p?d_free() are not pair!! If p?d_alloc() >> succeed, they may be used, so in the next failure, we have to skip them >> to let exit_mmap() or do_munmap() to process it. >> >> According to "Documentation/vm/locking", 'mm->page_table_lock' is for >> using vma list, so not need it when its related vmas are detached or >> unmapped from using vma list. >> >> The related work flow: >> >> exit_mmap() -> >> unmap_vmas(); /* so not need mm->page_table_lock */ >> free_pgtables(); >> >> do_munmap()-> >> detach_vmas_to_be_unmapped(); /* so not need mm->page_table_lock */ >> unmap_region() -> >> free_pgtables(); >> >> free_pgtables() -> >> free_pgd_range() -> >> free_pud_range() -> >> free_pmd_range() -> >> free_pte_range() -> >> pmd_clear(); >> pte_free_tlb(); >> pud_clear(); >> pmd_free_tlb(); >> pgd_clear(); >> pud_free_tlb(); >> >> >> Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx> > > Sounds reasonable to me. > *But* there are patches you from out there that tried to fix similar issues and got reverted later. > Now I'm a bit nervous and want a ACK from mm folks to have this verified. > It's not that I don't trust you, but I really don't trust you. ;-) > OK, thanks. > Thanks, > //richard > > -- Chen Gang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>