From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753283Ab2CZTJ6 (ORCPT ); Mon, 26 Mar 2012 15:09:58 -0400 Received: from mx1.redhat.com ([209.132.183.28]:11560 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751819Ab2CZTJ4 (ORCPT ); Mon, 26 Mar 2012 15:09:56 -0400 From: Andrea Arcangeli To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Hillf Danton , Dan Smith , Peter Zijlstra , Linus Torvalds , Andrew Morton , Thomas Gleixner , Ingo Molnar , Paul Turner , Suresh Siddha , Mike Galbraith , "Paul E. McKenney" , Lai Jiangshan , Bharata B Rao , Lee Schermerhorn , Rik van Riel , Johannes Weiner Subject: [PATCH 34/39] autonuma: reset autonuma page data when pages are freed Date: Mon, 26 Mar 2012 19:46:21 +0200 Message-Id: <1332783986-24195-35-git-send-email-aarcange@redhat.com> In-Reply-To: <1332783986-24195-1-git-send-email-aarcange@redhat.com> References: <1332783986-24195-1-git-send-email-aarcange@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When pages are freed abort any pending migration. If knuma_migrated arrives first it will notice because get_page_unless_zero would fail. Signed-off-by: Andrea Arcangeli --- mm/page_alloc.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b9c80df..c986c0c 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -614,6 +614,10 @@ static inline int free_pages_check(struct page *page) bad_page(page); return 1; } + autonuma_migrate_page_remove(page); +#ifdef CONFIG_AUTONUMA + ACCESS_ONCE(page->autonuma_last_nid) = -1; +#endif if (page->flags & PAGE_FLAGS_CHECK_AT_PREP) page->flags &= ~PAGE_FLAGS_CHECK_AT_PREP; return 0;