On 2 Feb 2017, at 21:12, Hillf Danton wrote: > On February 01, 2017 3:54 AM Zi Yan wrote: >> >> I am also doing some tests on THP migration and discover that there are >> some corner cases not handled in this patchset. >> >> For example, in handle_mm_fault, without taking pmd_lock, the kernel may >> see pmd_none(*pmd) during THP migrations, which leads to >> handle_pte_fault or even deeper in the code path. At that moment, >> pmd_trans_unstable() will treat a pmd_migration_entry as pmd_bad and >> clear it. This leads to application crashing and page table leaks, since >> a deposited PTE page is not released when the application crashes. >> >> Even after I add is_pmd_migration_entry() into pmd_trans_unstable(), I >> still see application data corruptions. >> >> I hope someone can shed some light on how to debug this. Should I also >> look into pmd_trans_huge() call sites where pmd_migration_entry should >> be handled differently? >> > Hm ... seems it helps more if you post your current works as RFC on > top of the mm tree, and the relevant tests as well. > Thanks for replying. I find that data corruption is caused by that set_pmd_migration_entry() did not flush TLB while changing pmd entries. I fix it by using pmdp_huge_clear_flush() instead of pmdp_huge_get_and_clear(). The racy pmd check in zap_pmd_range() also causes pmd_bad() problem. I am going to rebase Naoya's patches and send it again for comments. > Hillf >> >> Anshuman Khandual wrote: >>> On 11/08/2016 05:01 AM, Naoya Horiguchi wrote: >>>> Hi everyone, >>>> >>>> I've updated thp migration patches for v4.9-rc2-mmotm-2016-10-27-18-27 >>>> with feedbacks for ver.1. >>> >>> Hello Noaya, >>> >>> I have been working with Zi Yan on the parallel huge page migration series >>> (https://lkml.org/lkml/2016/11/22/457) and planning to post them on top of >>> this THP migration enhancement series. Hence we were wondering if you have >>> plans to post a new version of this series in near future ? >>> >>> Regards >>> Anshuman >>> >> >> -- >> Best Regards, >> Yan Zi -- Best Regards Yan Zi