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 2044AC7618E for ; Mon, 24 Apr 2023 03:50:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D54E6B0071; Sun, 23 Apr 2023 23:50:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 55F2B6B0074; Sun, 23 Apr 2023 23:50:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3FEF36B0075; Sun, 23 Apr 2023 23:50:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2C5976B0071 for ; Sun, 23 Apr 2023 23:50:49 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id DDBFB802FA for ; Mon, 24 Apr 2023 03:50:48 +0000 (UTC) X-FDA: 80714908176.07.17CC290 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf15.hostedemail.com (Postfix) with ESMTP id 7B866A000B for ; Mon, 24 Apr 2023 03:50:46 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=N0bDuxkm; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1682308247; a=rsa-sha256; cv=none; b=kNB5YlQgRye9ZWCKweLuhnlPXGlqT/DLX5b2otb8YJIiZMB4gVIgPKLLf7ID6Vee5hQF8V VD+HFbfpIScNAxapdklv3rsOr7IsuBAz1lUw7c4HBKGI8Khyl/qx8VKtRq6uf5Ef75liKk uTyXuJ32ytTgaoHJ58Z6tQpckoTCFWM= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=N0bDuxkm; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682308247; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=uMKfR83C0B9dH2cTA6vwCV+ysD6ryGT7DeWsaB7/c50=; b=LmX4zosrTpnFoOxrPJerw8X8fHW1Wfq31AhoU21iIMpkDZBmqUQcI/WoSBNy2U1pJxWHmt vBdtcD5jv9RkTTh8or2Qs9o5BV23v9zTMu7PDCTVHjnIerwMMQS9p4e/YMlfG9DSo1zmyE j5bFbvKczl4vpu5InwwPsMvSo5HUjus= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=uMKfR83C0B9dH2cTA6vwCV+ysD6ryGT7DeWsaB7/c50=; b=N0bDuxkmi9sVSIOfVXutZqafhZ 0AVoZT5UTfmlDIZIveXnpkydkBXLTY6lQ+kGH3SbF4/FPb5f+byVW8CZ/sQaLwhzhSKz4YXmxK/pR 47m8xz+tbvD+KpDB6UIQhZTkGm9OMf2MNroA6WguHK3l75As47J05GKaLwVgJ8Enzo8jGR4OrwVH1 wNGUejgNjW8RcnAj74fzudaKH9Ja28uweMncZl9j7ohZf4GZPf9QVjvJRsw1WuEUNsHYdlQCOgkxq DmEnii623QUp5pfcLLs1KTEuXJ8Qk5y9gxy998/CUSojHgP7qg+n68aHQE4/AKrYqXrxM0r13YrKO u816BZ+Q==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pqnDp-00046U-JS; Mon, 24 Apr 2023 03:50:37 +0000 Date: Mon, 24 Apr 2023 04:50:37 +0100 From: Matthew Wilcox To: Yajun Deng Cc: david@redhat.com, osalvador@suse.de, gregkh@linuxfoundation.org, rafael@kernel.org, akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH] mmzone: Introduce for_each_populated_zone_pgdat() Message-ID: References: <20230424030756.1795926-1-yajun.deng@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230424030756.1795926-1-yajun.deng@linux.dev> X-Rspam-User: X-Rspamd-Queue-Id: 7B866A000B X-Rspamd-Server: rspam01 X-Stat-Signature: 6czftewn9sr7ei8qyqns89jhmzkkkctw X-HE-Tag: 1682308246-61643 X-HE-Meta: U2FsdGVkX19URmyt55DdCG3HTM+i5XvDQcC9VnDEgTWdkqUaCm+WX4u481C1D5p7zQY3GJLB49/efVxKyZLqCOPIRHo+iuYQ0KRrymsk04wngomBbxUNs89eYCmnU/03ZxjOqToptyNTc+oJBf1SDp0GAP5hekdbQnbzJ55KYelQSJ8wN+WeNDka8L0wMHvA5byRP27XJZ8IDlZ5Bu6DQJuXombeg3+eYdpwj9GDrKVBXyh7bCZlrmBtw5px80pxHbw/DGloq/GykCZY1bGS7DhYZLF8SpApribbgTa+L2hdI2LZ9xGUZpnTDdrpVIPr//M3TRajz9WHXJS348rz6LK0N9Usx3Y6Dui3wI6S9hANxPAN9kHEhsUdYHMHJSdp6g8AWMXFSj8FTcgLxPoBVuWpWBKn86Y7oiJqGy3jKBzNFOXJBs7gZ9Ffvlj9/2FO1ItfSjLhDnuu3AuIPF83KSmBgtmflbK6uCQQM4h3fQidB/huqouC6lyWJlTXlc7IUy/WhS3478KW3Q/Otfi5TZnIWQClvGeC+4EhNXaCAm3buI7v6qJwvAAaXnQqAGlFCtSSOufeFHYLTEeJ0PQpliNLC+GGMlcnp+i8KgJGn5gItGYAQJbEh6m2kMxKVfVoclGhW7L1esdKk6LyU+/OZ13OmbJGB9omluJ0+n57Qu1JhgOrC6Le2BCmRyKGzcyFJoZ2G+daseZtjfYzXwM5alr+QR7gW13a/M8taORVktcS5pOKpUR+SaNMXSKJRzOwqC+PCQbrjYRMk5/BB21VOd8cvZ8KJOvLxis3qcN/zlq/1/qsI6s7ls06ppgK1Bl/y6SGjE/EY+g90hYoVxH24DfAcHZdXXABylrcei/Y2w7jvFirYO1oUh2i8+whvsqv6M0q/Wc3SnJKCXDFAixVmBf1LjWpAyWZ6a0nU1tU/N/UNLo1JOZdsoWPkGOD/Bl6TwXwKgAz2rm7n//XoVu XWruoKF3 oueRSAA6/kKcDCdNE1o0OpfVzrt6AC2x4qGwF24GdtFwgYvDQ2ic0V08nLpAHojqysoRGElgDY96aJgeopZEM9XH0whhKUsT7JVf3c/u2nQ36YqSMc+TQRCb7SzalasVVOK17b46jw3aIlKirrB4ZusO5m+I7bM+Y6xpeJk/vYD1JfSJkGiuuKoZVdA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000004, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Apr 24, 2023 at 11:07:56AM +0800, Yajun Deng wrote: > Instead of define an index and determining if the zone has memory, > introduce for_each_populated_zone_pgdat() helper that can be used > to iterate over each populated zone in pgdat, and convert the most > obvious users to it. I don't think the complexity of the helper justifies the simplification of the users. > +++ b/include/linux/mmzone.h > @@ -1580,6 +1580,14 @@ extern struct zone *next_zone(struct zone *zone); > ; /* do nothing */ \ > else > > +#define for_each_populated_zone_pgdat(zone, pgdat, max) \ > + for (zone = pgdat->node_zones; \ > + zone < pgdat->node_zones + max; \ > + zone++) \ > + if (!populated_zone(zone)) \ > + ; /* do nothing */ \ > + else > +