From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755662Ab3I3PSK (ORCPT ); Mon, 30 Sep 2013 11:18:10 -0400 Received: from cantor2.suse.de ([195.135.220.15]:42971 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752775Ab3I3PSH (ORCPT ); Mon, 30 Sep 2013 11:18:07 -0400 Date: Mon, 30 Sep 2013 16:18:02 +0100 From: Mel Gorman To: Rik van Riel Cc: Peter Zijlstra , Srikar Dronamraju , Ingo Molnar , Andrea Arcangeli , Johannes Weiner , Linux-MM , LKML , jstancek@redhat.com Subject: Re: [PATCH 11/63] mm: Close races between THP migration and PMD numa clearing Message-ID: <20130930151802.GG2425@suse.de> References: <1380288468-5551-1-git-send-email-mgorman@suse.de> <1380288468-5551-12-git-send-email-mgorman@suse.de> <20130930084735.GA2425@suse.de> <20130930101048.55fa2acd@annuminas.surriel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20130930101048.55fa2acd@annuminas.surriel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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