Re: [ 29/48] mm: migration: add migrate_entry_wait_huge()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Fri, 21 Jun 2013 14:47:27 +0200,
Michal Hocko wrote:
> 
> On Thu 20-06-13 18:52:43, Satoru Takeuchi wrote:
> > Hi Naoya,
> > 
> > At Tue, 18 Jun 2013 09:17:55 -0700,
> > Greg Kroah-Hartman wrote:
> > > 
> > > 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.

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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]