lkml.org 
[lkml]   [2013]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 11/63] mm: Close races between THP migration and PMD numa clearing
On Mon, Sep 30, 2013 at 10:10:48AM -0400, Rik van Riel wrote:
> On Mon, 30 Sep 2013 09:52:59 +0100
> Mel Gorman <mgorman@suse.de> wrote:
>
> > On Fri, Sep 27, 2013 at 02:26:56PM +0100, Mel Gorman wrote:
> > > @@ -1732,9 +1732,9 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,
> > > entry = maybe_pmd_mkwrite(pmd_mkdirty(entry), vma);
> > > entry = pmd_mkhuge(entry);
> > >
> > > - page_add_new_anon_rmap(new_page, vma, haddr);
> > > -
> > > + pmdp_clear_flush(vma, address, pmd);
> > > set_pmd_at(mm, haddr, pmd, entry);
> > > + page_add_new_anon_rmap(new_page, vma, haddr);
> > > update_mmu_cache_pmd(vma, address, &entry);
> > > page_remove_rmap(page);
> > > /*
> >
> > pmdp_clear_flush should have used haddr
>
> Dang, we both discovered this over the weekend? :)
>

Saw it this morning running a debugging build.

> In related news, it looks like update_mmu_cache_pmd should
> probably use haddr, too...
>

Does anything care? Other calls to update_mmu_cache_pmd are using address
and not haddr so if this is a problem, it's a problem in a few places. Of
the arches that support THP, only sparc appears to do anything useful and
it shifts the address HPAGE_SHIFT so it does not matter if the address
was aligned or not.

--
Mel Gorman
SUSE Labs


\
 
 \ /
  Last update: 2013-09-30 18:01    [W:0.067 / U:4.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site