From patchwork Mon Jul 29 09:17:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shivank Garg X-Patchwork-Id: 13744639 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55B27C3DA4A for ; Mon, 29 Jul 2024 09:18:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC7916B0096; Mon, 29 Jul 2024 05:18:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D4FDE6B0099; Mon, 29 Jul 2024 05:18:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B7BBA6B009A; Mon, 29 Jul 2024 05:18:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 974BE6B0096 for ; Mon, 29 Jul 2024 05:18:42 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 2806BA0204 for ; Mon, 29 Jul 2024 09:18:42 +0000 (UTC) X-FDA: 82392240084.08.3C58A03 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2067.outbound.protection.outlook.com [40.107.237.67]) by imf10.hostedemail.com (Postfix) with ESMTP id AE602C0026 for ; Mon, 29 Jul 2024 09:18:37 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=1g5iwZlH; spf=pass (imf10.hostedemail.com: domain of shivankg@amd.com designates 40.107.237.67 as permitted sender) smtp.mailfrom=shivankg@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722244691; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Nl0t77Z/x1LCJxtIxf0jA+N0hYXMDIVY1r2UTpAGxlo=; b=xBP7IlSri7MZfN3Xou0iCMNEo8QxZkj8+uxeKOH3u8jgMd1KVAhEr6SRO2DM1lg+xsY6yI zXIgHBlnc+KnbMaBh+pS4XG64ITzDw7sZ9qvljmiutPZS86tcgnQUp78JJWP2Wzxvgnzpi yL/ni4BU8Oot6jXXm+kW24T3T1zFoVA= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=1g5iwZlH; spf=pass (imf10.hostedemail.com: domain of shivankg@amd.com designates 40.107.237.67 as permitted sender) smtp.mailfrom=shivankg@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1722244691; a=rsa-sha256; cv=pass; b=O8gTwX9MjStqeEjYDffYIxOxIODffzyn53YC8mf0bmiQfhLYHiFWOLobyfQZV2sXclx691 6lhYXFUCy/lhuUyalH3JRNvGF9bmivVCxM7SN6RLWw4p1sstp7ciBjKOSCKpoZ7V1HW+RQ Xt94/tOECLKsYy+3Xal5mCRGseuAHnw= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DXWRUnRdaALfBJDrxYBVRSjGda23D4O/TLQkSjSRQLOtAKyiwo9B3BA/uSESaWjG7L3JvBeJ9R2IfsKarSiwMH3tYbrm9vRvM6yb7sDMCyUv1mYjHktXtcnK+6+ZIPN1FAA6SAq/2ma2ON9UZslS78C9g9Z9NADozi+ibR1CAMZwe20GXtL1LDVwkRiXaPzAQEJFIjq+6NYC7mxWhYc2SoC9tp5SUUV5BMGuYMWwmEhGJtk3Yp0F0ZndfHGxX+XQZzcluV/keDaSkWokdpAhd1H+/KyhVSsKCbqcG7dlwJwQKxjvp984+rtOx9rwwHRtMc/4SYqIB1xw+pnOjGowJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Nl0t77Z/x1LCJxtIxf0jA+N0hYXMDIVY1r2UTpAGxlo=; b=Ydh1HA4e8/Gn82jKT19ox48RgQyNQUenQFCoaxsAtC6i2nu8CIJQFBz881uZrMAeyJw3EstQKnCK++fBzGqDmHa7Pj/5ceF8WNLvgemaWWA54w7vfAg3MzixP7Pu3zGpwI3kULd52neStw2V84INAVVoNTjfAYOxH0wvEcOO4gQBtSFL+i2yTr+rW7P8VPjN+aqEi0sYsmiqvvpYvoTFnynXmLqSSSIuxjXV1x/S8UZfLA5kFRjoDW74UKK/Mg/lhAA2Ic2TS6pXnLAeVK4IWphh/sCgzDEgv3hie0gznVr33JRbM4sDFyvyUWK/VpRUcTUuBN6NqKCQ14agPjNgxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux-foundation.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nl0t77Z/x1LCJxtIxf0jA+N0hYXMDIVY1r2UTpAGxlo=; b=1g5iwZlHXt66c5OjSLvD2WFq082LQKWfYe0IiHrVnn9z9NK/BveCyLxWpW+wUv9nmW52oJKXF9oYvT8GF0CwJjUFB5MI0oI/jZS0Az5n9OBqMf5CkvcUFOPC09EulQitFfT84pbdn4UmbnEeHUNwoL+Z4cbMV8dA5QKNhRdomKE= Received: from SA9PR03CA0017.namprd03.prod.outlook.com (2603:10b6:806:20::22) by PH7PR12MB5974.namprd12.prod.outlook.com (2603:10b6:510:1d9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.29; Mon, 29 Jul 2024 09:17:34 +0000 Received: from SA2PEPF00003AE7.namprd02.prod.outlook.com (2603:10b6:806:20:cafe::79) by SA9PR03CA0017.outlook.office365.com (2603:10b6:806:20::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.34 via Frontend Transport; Mon, 29 Jul 2024 09:17:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SA2PEPF00003AE7.mail.protection.outlook.com (10.167.248.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7828.19 via Frontend Transport; Mon, 29 Jul 2024 09:17:34 +0000 Received: from BLR-L-SHIVAGAR.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 29 Jul 2024 04:17:31 -0500 From: Shivank Garg To: CC: , , , , Subject: [PATCH] mm: improve code consistency with zonelist_* helper functions Date: Mon, 29 Jul 2024 14:47:17 +0530 Message-ID: <20240729091717.464-1-shivankg@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240709145113.e8b6482aec974c31b0363ea0@linux-foundation.org> References: <20240709145113.e8b6482aec974c31b0363ea0@linux-foundation.org> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00003AE7:EE_|PH7PR12MB5974:EE_ X-MS-Office365-Filtering-Correlation-Id: 7128db3b-af53-4983-d367-08dcafaf482d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026; X-Microsoft-Antispam-Message-Info: nSiub1rQDbLPplBJ7Fue4YeOuXioxHqzH/C4MKaHrbMsCztNko5MT5k4Pl4XMh2xva/6z/w9F3aOBoLmQQUCIxCOwUAVDmcPNF1yPcjChSGU1VikEnWpTYyzR2CqRKu+PHcPwHcN/daoqDUOckyM33zpzwKc5P898HLlwaK+f7fgvw90/FC1/yoN6rlbsWqVUvGrYZmzANfLiScrxb9SSCSBpQfmReJ1ag3Yrmhyl1gbrjV0Te43FXN/kkBDv7HSUP14p7/TvxthMxnfZSHi44g/tWlJXt82TsTRW7jkuFKt9S57muBLq3W3X4gs426cg6qAhKoYxvWuRUoevaWjiK65QSIUwPDN0uU1dloTYdnDaoiLfWG2Foeq4HbynYWGtTxIZBCCtmhEknfDCazGPrSpg6f0mdX2ezIRTRPA0SToFmz+IVali/07FoTJEpcI9CHxAl9j3rqd0vzFgRn25oyMeO8R9EaMdCXfAkTlkFu/2RDnWQf/YTDrYhaUskkQfwl9RMu8Abfy01ECMDilWzZsBtNrs8e0cgRbBCNpiFmXAb4fHlptfv0jneZ5TUw6XnKxkn4vRoA3obatV5rvPJhqoS9/F5pFYAD6iBRIQFEkrzSTQEedYrxVimynSJ1AsQBLFRvj7krW4Bic5DjtxC/r/UbBhzUtC2TtTokvUIjUZDn/bSyy4TMsxLQNu0yoGDYGN1tEeyXy8KKQPH3xwABKLPZF5jEqkDrVyWipzAR1RFb+IJqWESuyivk3hebdQQ/XeAnxO2E860F6E3QBqrwLV7BOpptZsaOcbmYedzhcRpVI7z6UeqF03mfT4NTVXMyqmYPNhB2Ott8GKtkaF+i/4RZaMO8xoq8Hj/1daUTWJnZVCYZeeH2+GdO00IwlYTyVH8WGW8W4oh0D9WDlFczjz42M5/1MmfALX24+C+CgWmgQxrCcVwad5UdfUqXSsdgMalFLeMRKoB+6nAQBGWwp9LCPhYuWWXVxBRvaPHMzVuplTFwbIePdjqEcsSmzJYh/FyeMzLq3VmHffRegAmQ/k4HrmHwfpp32C6wW1IMdoBLkjx5uBYuYPhy31XdBu/L6qN5o/wPyvaD1U1EoxU0+gyhzCyyh6nK+Xd+M1+rnmephCWJ65Rq7ws0YxFFbUpffTv35JyJsN2semJshlO74DOIso6xJMFTYyVmKWhzAzP1Qyknxk7Cmukt/lGhE79CvBfhWg4eWY8V3X9BTr6f0nDZ+NA+Uqma0QcyLZYK4IP/R2tPap52XSxDjpg+dyn/Lc7OCKVn4GzwLULefiKTKtaoxq01u065CCdSojCFHTLwNio/lOiFXDiZ8gmEm5VLB7Srq880PVa1XHt/igl1WG1HPg3cVyYmvy7A3Rz/Ccn6BKtS78g3gwkelABTjJDm9+ox1YPUT9x3rGT3FgObtL+yrCBb9dFvn3io0Dj0xo5qWvJMO4QG0ZdGaSqfd X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jul 2024 09:17:34.4086 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7128db3b-af53-4983-d367-08dcafaf482d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SA2PEPF00003AE7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5974 X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: AE602C0026 X-Stat-Signature: qsdutmx7q6ursm49kxr8rt89e3bh81ub X-HE-Tag: 1722244717-677583 X-HE-Meta: U2FsdGVkX18ZVsxYZ7O3KcDOy5yfagvJXWjQ834dumc2sZbJtqKFdBidFLqcVUcJxOUdZ+gr0a/0exzRA1wpIOAMglTVgBKFDsL/gHQojDSFBz5BjA1wHG0W2dZcerCu0yaF/xOAzhroix1WmSG8hJzJx1aWjtshn4Ga5bLtrPTTq2Y8oVoWs8+IyFN1y0ErXnqR+Y5dvPOEYf9BvS4QNXIXAUUV/jnhZ0C0RMRcN2gQQDQSus/jTMMhycA1l2RzfeZ3tRHVio8GxiwJFsGbY2+B271wn4k7xgnlGa/uwqJPF2ycmAVZsIywLcrChuG08S6jJU7qdOaqaWSfska1VM/6mdt24PPIVQYypJKP5Or84N/Sm6o0H5175sVr0hCOIc69GKoFELYDUnmWnhk/0Q77mVTghzMYQeuywClAou8kByFO2XDmqY8wUikVbF51jIdY6D4/jSJfupVh7k6xh3y/ODqY9PKg3NAJeBP/Jz1gGw9ZjW2E4ysfsypP5MIRr+ylOc0cF/5YaAQvY3OimV62GLxorr0NiJ2uQaJWyhFAINC76nwuQ6mCi+LupL/qDHRWY3b4ubnmGXYdh0mpCPTfhTQ36h2Ok+O5502GJr7kf9nz7cn2h1e1HZcLbupIr6dEV+vhJ+j/9hhrG2TBbKufAkJdLdyzLWAkTMQiW0McxBmNuarr33DQ8Sm7OyUlYQ7BHWH91+AC34L0YPEAqP7TOJXRTVP69i4jJZ/Hk40bzoaKtidZDhQpj6Q+IOPJ1YesWF1rKE23bAQrgUALGvjbn5Mz/AK43AnjBZqXru3CMY3FxFj4bfdaxb/pWZg+HbuG6WI6VccWxpn6ztkhyJeSEZBPN65IYe6U5C1/RZ/VIGGsfFMYC3JqWzf9gSzjnqwPKdUkPAB2o31KQbqR6OhQUR5AiVI3SLsFI8NnNlEDU5rnSDwAZnBuBl0EpbyuqeDkjla6vG/zbScGJYL x1P/fsOV aVjiS2UEesCOx2a6fuTKSjmlkkbOBzTADzC8eNRDxEsjxrvgEQyC3O0OPQn/vPa0z6vNZQBZStRW3mlv47iCh6eBs77TW5Q7Kbxl0Ck+omcSUutCg2X2afDG4DG3+BqtdwYe0bw6KiRXufjxokNauJm2vsGcAJ9hJwqtu11g/MyRSn7XbRWyXQMuDOB4+60A0916NH7+JyYAVw1FlOObrSuazhgUygY0NI3mUpAu10uOM1jvo73I7Gju0iTcI6qMJGeTHRk+MS9On0qkDT6Cdp8lHDHqnaOA3y6XDc3Rub6OoC7bsMIrSpyh90NeQIMffCINFUKOMKL/Pk4VNiD01saYSg4uRlsiPbTxoZSgXDpuc6qeFcW5RRCPk+T5j6PFXifgUj78j4BFn4Ecsr5mVv1BFtz+f2oGEvgCcj4tpkibDHEAcKgPU6nqDIzpR2hsITPMw/EUazzawquTvEDRM8LfPnqjw++BiVrd/MX2+JamFAP4DqdSjHjhDjPpwztB4Bsrm9Sqlilp339CZqG5b/D32j9JMZZo0NjzilVFeauSjVZYgRHND5rtdDlsdGEvwSt8RW6B/o50nZ1CKA8rii/Vsf8s3+xhCrWxb X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Wei Yang Replace direct access to zoneref->zone, zoneref->zone_idx, or zone_to_nid(zoneref->zone) with the corresponding zonelist_* helper functions for consistency. No functional change. Co-developed-by: Shivank Garg Signed-off-by: Shivank Garg Signed-off-by: Wei Yang CC: Mike Rapoport (IBM) CC: David Hildenbrand Acked-by: David Hildenbrand --- Hi Andrew, I've rebased the patch on top of 6.11-rc1. Thanks, Shivank include/linux/mmzone.h | 4 ++-- include/trace/events/oom.h | 4 ++-- mm/mempolicy.c | 4 ++-- mm/mmzone.c | 2 +- mm/page_alloc.c | 22 +++++++++++----------- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 41458892bc8a..9f389c76581f 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -1690,7 +1690,7 @@ static inline struct zoneref *first_zones_zonelist(struct zonelist *zonelist, zone = zonelist_zone(z)) #define for_next_zone_zonelist_nodemask(zone, z, highidx, nodemask) \ - for (zone = z->zone; \ + for (zone = zonelist_zone(z); \ zone; \ z = next_zones_zonelist(++z, highidx, nodemask), \ zone = zonelist_zone(z)) @@ -1726,7 +1726,7 @@ static inline bool movable_only_nodes(nodemask_t *nodes) nid = first_node(*nodes); zonelist = &NODE_DATA(nid)->node_zonelists[ZONELIST_FALLBACK]; z = first_zones_zonelist(zonelist, ZONE_NORMAL, nodes); - return (!z->zone) ? true : false; + return (!zonelist_zone(z)) ? true : false; } diff --git a/include/trace/events/oom.h b/include/trace/events/oom.h index a42be4c8563b..9f0a5d1482c4 100644 --- a/include/trace/events/oom.h +++ b/include/trace/events/oom.h @@ -55,8 +55,8 @@ TRACE_EVENT(reclaim_retry_zone, ), TP_fast_assign( - __entry->node = zone_to_nid(zoneref->zone); - __entry->zone_idx = zoneref->zone_idx; + __entry->node = zonelist_node_idx(zoneref); + __entry->zone_idx = zonelist_zone_idx(zoneref); __entry->order = order; __entry->reclaimable = reclaimable; __entry->available = available; diff --git a/mm/mempolicy.c b/mm/mempolicy.c index b858e22b259d..b3b5f376471f 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1951,7 +1951,7 @@ unsigned int mempolicy_slab_node(void) zonelist = &NODE_DATA(node)->node_zonelists[ZONELIST_FALLBACK]; z = first_zones_zonelist(zonelist, highest_zoneidx, &policy->nodes); - return z->zone ? zone_to_nid(z->zone) : node; + return zonelist_zone(z) ? zonelist_node_idx(z) : node; } case MPOL_LOCAL: return node; @@ -2809,7 +2809,7 @@ int mpol_misplaced(struct folio *folio, struct vm_fault *vmf, node_zonelist(thisnid, GFP_HIGHUSER), gfp_zone(GFP_HIGHUSER), &pol->nodes); - polnid = zone_to_nid(z->zone); + polnid = zonelist_node_idx(z); break; default: diff --git a/mm/mmzone.c b/mm/mmzone.c index c01896eca736..f9baa8882fbf 100644 --- a/mm/mmzone.c +++ b/mm/mmzone.c @@ -66,7 +66,7 @@ struct zoneref *__next_zones_zonelist(struct zoneref *z, z++; else while (zonelist_zone_idx(z) > highest_zoneidx || - (z->zone && !zref_in_nodemask(z, nodes))) + (zonelist_zone(z) && !zref_in_nodemask(z, nodes))) z++; return z; diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 28f80daf5c04..94e3aa1e145d 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3353,7 +3353,7 @@ get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags, } if (no_fallback && nr_online_nodes > 1 && - zone != ac->preferred_zoneref->zone) { + zone != zonelist_zone(ac->preferred_zoneref)) { int local_nid; /* @@ -3361,7 +3361,7 @@ get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags, * fragmenting fallbacks. Locality is more important * than fragmentation avoidance. */ - local_nid = zone_to_nid(ac->preferred_zoneref->zone); + local_nid = zonelist_node_idx(ac->preferred_zoneref); if (zone_to_nid(zone) != local_nid) { alloc_flags &= ~ALLOC_NOFRAGMENT; goto retry; @@ -3414,7 +3414,7 @@ get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags, goto try_this_zone; if (!node_reclaim_enabled() || - !zone_allows_reclaim(ac->preferred_zoneref->zone, zone)) + !zone_allows_reclaim(zonelist_zone(ac->preferred_zoneref), zone)) continue; ret = node_reclaim(zone->zone_pgdat, gfp_mask, order); @@ -3436,7 +3436,7 @@ get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags, } try_this_zone: - page = rmqueue(ac->preferred_zoneref->zone, zone, order, + page = rmqueue(zonelist_zone(ac->preferred_zoneref), zone, order, gfp_mask, alloc_flags, ac->migratetype); if (page) { prep_new_page(page, order, gfp_mask, alloc_flags); @@ -4207,7 +4207,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, */ ac->preferred_zoneref = first_zones_zonelist(ac->zonelist, ac->highest_zoneidx, ac->nodemask); - if (!ac->preferred_zoneref->zone) + if (!zonelist_zone(ac->preferred_zoneref)) goto nopage; /* @@ -4219,7 +4219,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, struct zoneref *z = first_zones_zonelist(ac->zonelist, ac->highest_zoneidx, &cpuset_current_mems_allowed); - if (!z->zone) + if (!zonelist_zone(z)) goto nopage; } @@ -4576,8 +4576,8 @@ unsigned long alloc_pages_bulk_noprof(gfp_t gfp, int preferred_nid, continue; } - if (nr_online_nodes > 1 && zone != ac.preferred_zoneref->zone && - zone_to_nid(zone) != zone_to_nid(ac.preferred_zoneref->zone)) { + if (nr_online_nodes > 1 && zone != zonelist_zone(ac.preferred_zoneref) && + zone_to_nid(zone) != zonelist_node_idx(ac.preferred_zoneref)) { goto failed; } @@ -4636,7 +4636,7 @@ unsigned long alloc_pages_bulk_noprof(gfp_t gfp, int preferred_nid, pcp_trylock_finish(UP_flags); __count_zid_vm_events(PGALLOC, zone_idx(zone), nr_account); - zone_statistics(ac.preferred_zoneref->zone, zone, nr_account); + zone_statistics(zonelist_zone(ac.preferred_zoneref), zone, nr_account); out: return nr_populated; @@ -4694,7 +4694,7 @@ struct page *__alloc_pages_noprof(gfp_t gfp, unsigned int order, * Forbid the first pass from falling back to types that fragment * memory until all local zones are considered. */ - alloc_flags |= alloc_flags_nofragment(ac.preferred_zoneref->zone, gfp); + alloc_flags |= alloc_flags_nofragment(zonelist_zone(ac.preferred_zoneref), gfp); /* First allocation attempt */ page = get_page_from_freelist(alloc_gfp, order, alloc_flags, &ac); @@ -5299,7 +5299,7 @@ int local_memory_node(int node) z = first_zones_zonelist(node_zonelist(node, GFP_KERNEL), gfp_zone(GFP_KERNEL), NULL); - return zone_to_nid(z->zone); + return zonelist_node_idx(z); } #endif