On Thu 23-06-16 11:29:46, Michal Hocko wrote: > On Wed 22-06-16 23:05:24, zhong jiang wrote: > > Hi Aneesh > > > > CPU0 CPU1 > > shrink_page_list() > > add_to_swap() > > split_huge_page_to_list() > > __split_huge_pmd_locked() > > pmdp_huge_clear_flush_notify() > > // pmd_none() == true > > exit_mmap() > > unmap_vmas() > > zap_pmd_range() > > // no action on pmd since pmd_none() == true > > pmd_populate() > > > > > > the mm should be the last user when CPU1 process is exiting, CPU0 must be a own mm . > > two different process should not be influenced each other. in a words , they should not > > have race. > > No this is a different scenario than > http://lkml.kernel.org/r/1466517956-13875-1-git-send-email-zhongjiang@xxxxxxxxxx > we were discussing recently. Note that pages are still on the LRU lists > while the mm which maps them is exiting. So the above race is very much > possible. And just to clarify, I haven't checked the current code after c777e2a8b654 ("powerpc/mm: Fix Multi hit ERAT cause by recent THP update") which is ppc specific and I have no idea whether other arches need a similar treatment. I was merely trying to explain that the mm exclusive argument doesn't apply to reclaim vs. exit races. -- Michal Hocko SUSE Labs -- 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>