On Thu, Oct 29, 2020 at 06:44:58PM +0800, Alex Shi wrote: > In the func munlock_vma_page, comments mentained lru_lock needed for > serialization with split_huge_pages. But the page must be PageLocked > as well as pages in split_huge_page series funcs. Thus the PageLocked > is enough to serialize both funcs. > > Further more, Hugh Dickins pointed: before splitting in > split_huge_page_to_list, the page was unmap_page() to remove pmd/ptes > which protect the page from munlock. Thus, no needs to guard > __split_huge_page_tail for mlock clean, just keep the lru_lock there for > isolation purpose. > > LKP found a preempt issue on __mod_zone_page_state which need change > to mod_zone_page_state. Thanks! > > Signed-off-by: Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx> > Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > Cc: Vlastimil Babka <vbabka@xxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: linux-mm@xxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>