From patchwork Tue Nov 6 19:41:08 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Srivatsa S. Bhat" X-Patchwork-Id: 1706331 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 993B73FCDF for ; Tue, 6 Nov 2012 19:42:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752845Ab2KFTmX (ORCPT ); Tue, 6 Nov 2012 14:42:23 -0500 Received: from e23smtp04.au.ibm.com ([202.81.31.146]:54128 "EHLO e23smtp04.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752324Ab2KFTmV (ORCPT ); Tue, 6 Nov 2012 14:42:21 -0500 Received: from /spool/local by e23smtp04.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 7 Nov 2012 05:37:38 +1000 Received: from d23relay05.au.ibm.com (202.81.31.247) by e23smtp04.au.ibm.com (202.81.31.210) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 7 Nov 2012 05:37:36 +1000 Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96]) by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id qA6JVsFw6488382; Wed, 7 Nov 2012 06:31:54 +1100 Received: from d23av01.au.ibm.com (loopback [127.0.0.1]) by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id qA6JgEn0019441; Wed, 7 Nov 2012 06:42:17 +1100 Received: from srivatsabhat.in.ibm.com ([9.77.92.145]) by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id qA6Jg81l019275; Wed, 7 Nov 2012 06:42:09 +1100 From: "Srivatsa S. Bhat" Subject: [RFC PATCH 06/10] mm: Verify zonelists To: akpm@linux-foundation.org, mgorman@suse.de, mjg59@srcf.ucam.org, paulmck@linux.vnet.ibm.com, dave@linux.vnet.ibm.com, maxime.coquelin@stericsson.com, loic.pallardy@stericsson.com, arjan@linux.intel.com, kmpark@infradead.org, kamezawa.hiroyu@jp.fujitsu.com, lenb@kernel.org, rjw@sisk.pl Cc: gargankita@gmail.com, amit.kachhap@linaro.org, svaidy@linux.vnet.ibm.com, thomas.abraham@linaro.org, santosh.shilimkar@ti.com, srivatsa.bhat@linux.vnet.ibm.com, linux-pm@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Date: Wed, 07 Nov 2012 01:11:08 +0530 Message-ID: <20121106194104.6560.48366.stgit@srivatsabhat.in.ibm.com> In-Reply-To: <20121106193650.6560.71366.stgit@srivatsabhat.in.ibm.com> References: <20121106193650.6560.71366.stgit@srivatsabhat.in.ibm.com> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 x-cbid: 12110619-9264-0000-0000-000002A20456 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From: Ankita Garg Verify that the zonelists were created appropriately. Signed-off-by: Ankita Garg Signed-off-by: Srivatsa S. Bhat --- mm/mm_init.c | 57 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 27 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/mm/mm_init.c b/mm/mm_init.c index 1ffd97a..5c19842 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -21,6 +21,7 @@ int mminit_loglevel; /* The zonelists are simply reported, validation is manual. */ void mminit_verify_zonelist(void) { + struct mem_region *region; int nid; if (mminit_loglevel < MMINIT_VERIFY) @@ -28,37 +29,39 @@ void mminit_verify_zonelist(void) for_each_online_node(nid) { pg_data_t *pgdat = NODE_DATA(nid); - struct zone *zone; - struct zoneref *z; - struct zonelist *zonelist; - int i, listid, zoneid; - - BUG_ON(MAX_ZONELISTS > 2); - for (i = 0; i < MAX_ZONELISTS * MAX_NR_ZONES; i++) { - - /* Identify the zone and nodelist */ - zoneid = i % MAX_NR_ZONES; - listid = i / MAX_NR_ZONES; - zonelist = &pgdat->node_zonelists[listid]; - zone = &pgdat->node_zones[zoneid]; - if (!populated_zone(zone)) - continue; - - /* Print information about the zonelist */ - printk(KERN_DEBUG "mminit::zonelist %s %d:%s = ", - listid > 0 ? "thisnode" : "general", nid, - zone->name); - - /* Iterate the zonelist */ - for_each_zone_zonelist(zone, z, zonelist, zoneid) { + for_each_mem_region_in_node(region, nid) { + struct zone *zone; + struct zoneref *z; + struct zonelist *zonelist; + int i, listid, zoneid; + + BUG_ON(MAX_ZONELISTS > 2); + for (i = 0; i < MAX_ZONELISTS * MAX_NR_ZONES; i++) { + + /* Identify the zone and nodelist */ + zoneid = i % MAX_NR_ZONES; + listid = i / MAX_NR_ZONES; + zonelist = &pgdat->node_zonelists[listid]; + zone = ®ion->region_zones[zoneid]; + if (!populated_zone(zone)) + continue; + + /* Print information about the zonelist */ + printk(KERN_DEBUG "mminit::zonelist %s %d:%s = ", + listid > 0 ? "thisnode" : "general", nid, + zone->name); + + /* Iterate the zonelist */ + for_each_zone_zonelist(zone, z, zonelist, zoneid) { #ifdef CONFIG_NUMA - printk(KERN_CONT "%d:%s ", - zone->node, zone->name); + printk(KERN_CONT "%d:%s ", + zone->node, zone->name); #else - printk(KERN_CONT "0:%s ", zone->name); + printk(KERN_CONT "0:%s ", zone->name); #endif /* CONFIG_NUMA */ + } + printk(KERN_CONT "\n"); } - printk(KERN_CONT "\n"); } } }