> > > > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > > > > > > 3.9-stable review patch. If anyone has any objections, please let me know. > > > > > > > > ------------------ > > > > > > > > From: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> > > > > > > > > commit 30dad30922ccc733cfdbfe232090cf674dc374dc upstream. > > > > > > > > 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. As a result, users who try > > > > to kick hugepage migration (via soft offlining, for example) occasionally > > > > experience long delay or soft lockup. > > > > > > > > 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. > > > > > > I suspect that this code doesn't work correctly on i686 box with CONFIG_HIGHPTE. > > > If we call hugetlb_fault() -> migration_entry_wait_huge() -> __migration_entry_wait(), > > > this function tries to kunmap pte, in this case pte is not-kmapped pmd, via pte_unmap_unlock(). > > > If CONFIG_DEBUG_HIGHMEM is also enabled, it results in BUG_ON() at __kunmap_atomic(). > > > > > > Correct me if I'm wrong. > > > > I haven't checked the code closer but the patch doesn't change anything > > regarding pte_unmap_unlock. The only thing that it touches is the > > _locking_. So whether there ever was a problem with kmap or not this > > patch doesn't change it. > > > > That being said, the patch is OK for the stable tree. > > OK, I see. This is a different problem from this patch. If I'll find a real problem > with kmap, I'll report it as the different problem. As the result of detailed code review and test, I confirmed there is no problem about this code path. Sorry for the noise. Thanks, Satoru -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html