On Fri 03-06-16 16:15:51, Sergey Senozhatsky wrote: > Hello, > > On (06/02/16 11:21), Michal Hocko wrote: > [..] > > @@ -2863,6 +2854,7 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, > > > > collect_mm_slot(mm_slot); > > } > > + mmput(mm); > > > > return progress; > > } > > this possibly sleeping mmput() is called from > under the spin_lock(&khugepaged_mm_lock). You are right. khugepaged_scan_mm_slot returns with the lock held. mmput_async would deal with it. > there is also a trivial build fixup needed > (move collect_mm_slot() before __khugepaged_exit()). will fix that. Thanks! > it's quite hard to trigger the bug (somehow), so I can't > follow up with more information as of now. Thanks anyway! -- 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>