On Mon, Jun 03, 2013 at 03:26:41PM +0200, Michal Hocko wrote: > On Tue 28-05-13 15:52:51, Naoya Horiguchi wrote: > > When we have a page fault for the address which is backed by a hugepage > > under migration, the kernel can't wait correctly and do busy looping on > > hugepage fault until the migration finishes. > > This is because pte_offset_map_lock() can't get a correct migration entry > > or a correct page table lock for hugepage. > > This patch introduces migration_entry_wait_huge() to solve this. > > > > Note that the caller, hugetlb_fault(), gets the pointer to the "leaf" > > entry with huge_pte_offset() inside which all the arch-dependency of > > the page table structure are. So migration_entry_wait_huge() and > > __migration_entry_wait() are free from arch-dependency. > > > > ChangeLog v3: > > - use huge_pte_lockptr > > > > ChangeLog v2: > > - remove dup in migrate_entry_wait_huge() > > > > Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> > > Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx # 2.6.35 > > OK, this looks good to me and I guess you can safely replace > huge_pte_lockptr by &(mm)->page_table_lock so you can implement this > even without risky 1/2 of this series. The patch should be as simple as > possible especially when it goes to the stable. Yes, I agree. > > Without 1/2 dependency > Reviewed-by: Michal Hocko <mhocko@xxxxxxx> Thanks, Naoya -- 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>