From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 21 Jun 2013 20:42:49 +0900 Message-ID: <87y5a3666e.wl%satoru.takeuchi@gmail.com> From: Satoru Takeuchi To: Greg Kroah-Hartman Cc: Satoru Takeuchi , linux-kernel@vger.kernel.org, stable@vger.kernel.org, Naoya Horiguchi , Rik van Riel , Wanpeng Li , Michal Hocko , Mel Gorman , Andi Kleen , KOSAKI Motohiro , Andrew Morton , Linus Torvalds Subject: Re: [ 29/48] mm: migration: add migrate_entry_wait_huge() In-Reply-To: <20130620170213.GB21356@kroah.com> References: <20130618161725.912524266@linuxfoundation.org> <20130618161730.095209184@linuxfoundation.org> <87a9ml3y8k.wl%satoru.takeuchi@gmail.com> <20130620170213.GB21356@kroah.com> MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: At Thu, 20 Jun 2013 10:02:13 -0700, Greg Kroah-Hartman wrote: > > On Thu, Jun 20, 2013 at 06:52:43PM +0900, Satoru Takeuchi wrote: > > Hi Naoya, > > > > At Tue, 18 Jun 2013 09:17:55 -0700, > > Greg Kroah-Hartman wrote: > > > > > > From: Greg Kroah-Hartman > > > > > > 3.9-stable review patch. If anyone has any objections, please let me know. > > > > > > ------------------ > > > > > > From: Naoya Horiguchi > > > > > > 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(). > > Have you tried this? Not yet. I'm now preparing the kernel to reproduce this problem. > > Also, the same issue is still in 3.10-rc6, right? Yes. Thanks, Satoru