From mboxrd@z Thu Jan 1 00:00:00 1970 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 D76BEC3DA7F for ; Wed, 31 Jul 2024 23:58:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF0956B007B; Wed, 31 Jul 2024 19:58:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA0D06B0082; Wed, 31 Jul 2024 19:58:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 967EF6B0083; Wed, 31 Jul 2024 19:58:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 786526B007B for ; Wed, 31 Jul 2024 19:58:53 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D580E806D7 for ; Wed, 31 Jul 2024 23:58:52 +0000 (UTC) X-FDA: 82401715704.07.9AF42AB Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf28.hostedemail.com (Postfix) with ESMTP id CC9DFC0018 for ; Wed, 31 Jul 2024 23:58:49 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H5VddDgN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722470325; a=rsa-sha256; cv=none; b=kPelodf29Hw12x2yiILlbN1ibT/N7nCpTLZlipzbQGnMoLVyWmbcgSR3OSrZgv9lNs+qQw jLbnB9s59Tebpq5pzpDPlbRawVyr5rpdoNLzE/pdwoiECJ345womYj5aKBKlKU/YsS9He2 /voNrjMGdqCEqblG1wPLXgWKR5Mbc00= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=H5VddDgN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf28.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722470325; h=from:from:sender:reply-to: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=zQkuq/vIJ+n7AT5tB724RGNtPndX6bxG0K7OII9BcSY=; b=oDOrLnH+T3ZPWeqBvlxvIzrbn8ZFESyWqRLoYVtp8olDjuBfmgFE7uwoSd5j2j7xCE3rXN uVNfQm0Tj5LW6TckvWDZ27oQHIo8yzhXYRjIeWk7/88cfiDHZ/CKDBUtFiy+5dbJuUrVv4 zmFwMyac7iEtc4v/JD/L3JVXA992YLY= Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-52fc14d6689so6760691e87.1 for ; Wed, 31 Jul 2024 16:58:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722470328; x=1723075128; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=zQkuq/vIJ+n7AT5tB724RGNtPndX6bxG0K7OII9BcSY=; b=H5VddDgNym+Pva8sM5WA59w6NPcTNmpUsKCbA5zxcFJw/kGE9IXyEK2vb4XQb4+wqd oQIyKsOmYnX9v6eVf3DTXcQi8xEyJTWZGPZluP/jwhLxUgUc9+qBMOGgGOT+6LrN/gKE Ic455yx6cL4lXuxHqGlUiaLrWIB95P/0qi1L9SnQbhuW6sWJOqzOTNAOIg980F1Vqdo9 kScNcnsgWyH8bfF1wtGKcw/E5h3PryoxBDC2ko3T3dXmv+DahZ0dteRPo4ySPUZuxZeH zDYVRv5gFxhwEXZuWyDCKCD9ip30PAPo+I4UJxGoXKDfdQo4dn3GPElwxC28Av+mYEGn VPPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722470328; x=1723075128; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=zQkuq/vIJ+n7AT5tB724RGNtPndX6bxG0K7OII9BcSY=; b=MXcPCeW6j/K9aM7q1yDDQS9/x5WvH9rd6xpe1wQSTBj7U8s+vfWgwZ6Ih3Dycupjbk L+8aNQCfZeGCq7drsb/qVqSXNmozSN9ltePf2wzcrOLVGcnid5Jd0RccoEWtH6N3bFb0 2PLSm1QN87HundpWCymDTK55zptS3AJDiKbYPEzdxS4aiWjX5UkyTGOMsbcH8/lbK29x BQseVRuYmT1Dc1kx1lSJYkLpyfKKbJXLEVRMi5+j3s7C+XXKSSBn/LSqew8AEUrljqYl XNKIiD0RVKK/pxFajnVaRQebJY+sM3qv+V3fvR4XLGRAMeQrBKyzUzO/TwsuA9plumRn 1OEQ== X-Forwarded-Encrypted: i=1; AJvYcCV+gmU54GxdfNspm4LrmzwEeNvM3i8/Ewi0HscwQG0VGjV017pGcUAZxUXnKow/sS7GyUbe2pVCNvUO3zARU1+V7aE= X-Gm-Message-State: AOJu0YyIpwGpFMrD3HiKLClaqw9GNkePxtua2xLhIe9rWayvECf8F3Wf enjyVfQ++/ojPYrzaUNfmsrWr1oFTXlUX9xLm4arSPNF7vmdNpD7 X-Google-Smtp-Source: AGHT+IHaheve7Hf8+3GDB2QDlZzMp/76baJbJZ1oAxg8o0gf4crb1xF2O1fTaXHAzQfjm5QRK1OAHg== X-Received: by 2002:a05:6512:b0d:b0:52c:df4e:3343 with SMTP id 2adb3069b0e04-530b61af2ffmr410566e87.16.1722470327433; Wed, 31 Jul 2024 16:58:47 -0700 (PDT) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7acad41185sm826802566b.128.2024.07.31.16.58.46 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 31 Jul 2024 16:58:46 -0700 (PDT) Date: Wed, 31 Jul 2024 23:58:46 +0000 From: Wei Yang To: Shivank Garg Cc: akpm@linux-foundation.org, david@redhat.com, linux-mm@kvack.org, richard.weiyang@gmail.com, rppt@kernel.org Subject: Re: [PATCH] mm: improve code consistency with zonelist_* helper functions Message-ID: <20240731235846.iry5ziaa4h5qgmei@master> Reply-To: Wei Yang References: <20240709145113.e8b6482aec974c31b0363ea0@linux-foundation.org> <20240729091717.464-1-shivankg@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240729091717.464-1-shivankg@amd.com> User-Agent: NeoMutt/20170113 (1.7.2) X-Rspam-User: X-Rspamd-Queue-Id: CC9DFC0018 X-Rspamd-Server: rspam01 X-Stat-Signature: cs3hqp4x31zfyxoa6596otdax5ptb54y X-HE-Tag: 1722470329-290051 X-HE-Meta: U2FsdGVkX1/0bjO142vQyeN37vaifGnKc14SQolDPndN3EpVROm1dzRDN6lIjqigQio9pdOeQPSIqTpP4Oq94gT6e1XBwJUsu7Hb4Zx2hs7PYmceLbclQ13htHBqxg9SbLFT4bSWN+oDKgP1ajYNy5UBtXolzRatO+5HDnclGoaDbCWXGHoYfsOjvV/GOUqEuV4mjq/Ihq6hqQ33qEgVkhcswkLgtypBDLu3yvjocnj0yuiv8cpzOVuVR2Rn72b8bJKfP0rG63mcgIkIMD5iaVVFtXTkW0gXtPjPBi65Ej7PpQGuLJ/ouVeH4TzpOrvetCsqxv4GJL6n0x5pGdCOj8Fk78+Hr54MMozIAK8dkTSkmcg9kW2NlJnCPbuDHmANEE7IyaZOnw4Js2oz9CaGBWWOY91XKCcap6OmiXoj8ruewCwPhQTy+KH6SbE0hVJ301MfTK4///1/24AtYNSUA257NlYxovMYwqAYR7j4ThwTMtwUgJmY7bzEfC5UccTbnapw/mvL9b5GEdunWxs5m1AzR9R3Do2BLSjMlpdshRmG1QAYCXOisW2c7ey3OOWmWoWnElJBtF4GcnsWPPEN9OUrjRNYt71NBXx/PvjU/5x42sKxI5zb1UvCouXHnFeQFPqew5kaAnU8Z8SWI1yNTVzCycGyqmIo2C1e/sIjTxszsjXd77GbqenOtU4p/uBsKqNWjbRUjibkiGwLasrdE621ieyOGRDHPlLOQqqBlhABdn3aHiDm92DuEh5oPcgiPUvjCHuahY7wftKiRhum5NZ7ua4YVyUxZdDfzHTfEVwVP2DNvZzdjky8bEuhRld9V7gCncYx28HVTR0djukFpfDEA8KSpPldQp2vVLBYLesxnx8NObUuAxZaFrRRsmQGSOucucf6O1QpjoVW9rZsY0FEXrjhgD2QcLMZtG3OnPz4VqpmZxszRyfiBELtxNEXaOvof9CGQSAkFqDRI/f 3wwXyV7x BHgNpNc/QJVnpSi7qWWg7e8u69BlaLH0Jm1T7k3VJ+ZMxhv3YUmFNRKTdgOPWfaq+XsXJKA2bO0VmW1iDJeaRwekk43Z6tuz8n87lBOgmy6eX1m+BqxwALoNQBLCBn+FAR979c4N4anxGAx1H0MqbGqYd96dqlbG+O8wCx00++2+QtJk1IpKbFDNlrl/uOOSQMKoZzD4vma4dxXJlfeQtxDnr+iTQFKym6gMozd/FySjxl2cGwgtr6dLlqZBmWLCKZxgF6dm1hWkLj7kAN/W1/z2dLDb7lylrpaGW8DFk43dxArWaZgRAvDiCkWwFarswSGyaH/LZG+zWVbP2tuSgl0jRpWijUvM90V+xXoyXUrPwud2/Hbaw45YsEHlBiIPjtbM0GxAp0Gk9OJpF/hbWMfdth961zv7jjyfPc5M2pdDaRfusZP0l+qRB5jRLUpoCllKcvpiThjhNox7ShWvqB3eoT6q7mkqYcUb1jDa+G87G/4OZ7cW+pq2wISk2M6dNAowK8fF0yxmeabrUjFZrry9VGvbFUgyqlfqzGrRCXiYbv7ALYS90IyXVOLRZ61W1M37gFvAMYRm2fottegXni7I/KYoYXDhlWWlOtDmjrFqPi09YSkv92evkNJ6QQN8udDtBmMHBaQJg4l2UAE8RkQIJw6BEfH+wkXb4hqsCquWJ/dcK4a89fbM68L8aWrLlwN2D2Nc9CySyPwmaP5zCIWzS1+tSAEtNIjKs/kQAhjDuMp7rD6nRWClNEcwqVcVQZIvEhJuchp17AA3CQ86WSwiogw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000051, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Jul 29, 2024 at 02:47:17PM +0530, Shivank Garg wrote: >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 >--- > >Hi Andrew, > >I've rebased the patch on top of 6.11-rc1. Thanks, looks good to me. > >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 > >-- >2.34.1 -- Wei Yang Help you, Help me