Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755231Ab2F1M5r (ORCPT ); Thu, 28 Jun 2012 08:57:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:25616 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755076Ab2F1M5p (ORCPT ); Thu, 28 Jun 2012 08:57:45 -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 , Srivatsa Vaddagiri , Christoph Lameter , Alex Shi , Mauricio Faria de Oliveira , Konrad Rzeszutek Wilk , Don Morris , Benjamin Herrenschmidt Subject: [PATCH 39/40] autonuma: bugcheck page_autonuma fields on newly allocated pages Date: Thu, 28 Jun 2012 14:56:19 +0200 Message-Id: <1340888180-15355-40-git-send-email-aarcange@redhat.com> In-Reply-To: <1340888180-15355-1-git-send-email-aarcange@redhat.com> References: <1340888180-15355-1-git-send-email-aarcange@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1719 Lines: 54 Debug tweak. Signed-off-by: Andrea Arcangeli --- include/linux/autonuma.h | 11 +++++++++++ mm/page_alloc.c | 1 + 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/include/linux/autonuma.h b/include/linux/autonuma.h index 67af86a..05bd8c1 100644 --- a/include/linux/autonuma.h +++ b/include/linux/autonuma.h @@ -29,6 +29,16 @@ static inline void autonuma_free_page(struct page *page) } } +static inline void autonuma_check_new_page(struct page *page) +{ + struct page_autonuma *page_autonuma; + if (!autonuma_impossible()) { + page_autonuma = lookup_page_autonuma(page); + BUG_ON(page_autonuma->autonuma_migrate_nid != -1); + BUG_ON(page_autonuma->autonuma_last_nid != -1); + } +} + #define autonuma_printk(format, args...) \ if (autonuma_debug()) printk(format, ##args) @@ -41,6 +51,7 @@ static inline void autonuma_migrate_split_huge_page(struct page *page, struct page *page_tail) {} static inline void autonuma_setup_new_exec(struct task_struct *p) {} static inline void autonuma_free_page(struct page *page) {} +static inline void autonuma_check_new_page(struct page *page) {} #endif /* CONFIG_AUTONUMA */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 2d53a1f..5943ed2 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -833,6 +833,7 @@ static inline int check_new_page(struct page *page) bad_page(page); return 1; } + autonuma_check_new_page(page); return 0; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/