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 B9623C3601E for ; Thu, 10 Apr 2025 22:00:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3048028013E; Thu, 10 Apr 2025 18:00:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B3C5280138; Thu, 10 Apr 2025 18:00:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A25B28013E; Thu, 10 Apr 2025 18:00:12 -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 F0680280138 for ; Thu, 10 Apr 2025 18:00:11 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1AB27BB6D1 for ; Thu, 10 Apr 2025 22:00:13 +0000 (UTC) X-FDA: 83319503106.17.17E9A93 Received: from mail-ua1-f42.google.com (mail-ua1-f42.google.com [209.85.222.42]) by imf30.hostedemail.com (Postfix) with ESMTP id 33A1680009 for ; Thu, 10 Apr 2025 22:00:11 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lMWu5dZg; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.42 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744322411; 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=NzFUOXA2PlVpOukaGWjpW+Vwcf9Cq5O5NSrTad1d5OU=; b=vGbN6kFTemj2Zc8DBf4avnyM1zpymhYNxvJyja1n6Rw1paT95txPUOEaK3iXKxTz9fMBvG nVUlqu6bLLA2NZHx/GlglnMennYsVcHADMFkTtCYcLkzlSmFyfAEf4XT4G4WsxLtXFeS7P b4umh4p5dElnY5dDF3o8Wg2KgyCFiJk= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=lMWu5dZg; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.42 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744322411; a=rsa-sha256; cv=none; b=Sg6rs+eFO0n2bUsgo1kFnJmG3gFGwT1LD7eEHjPupkzfcjs3kmc/scIUsvEpI38QRBV1kH jhrt2jYBJw4jwuSqhET5104hDcoA0eJSvnuJVsCKFc7dcFof/qnfmGrRHtpuu/a2eE9ptA owgmxEE+fsF8cnU284vFNi82INZhb0I= Received: by mail-ua1-f42.google.com with SMTP id a1e0cc1a2514c-86b9d9b02cbso560936241.1 for ; Thu, 10 Apr 2025 15:00:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744322410; x=1744927210; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=NzFUOXA2PlVpOukaGWjpW+Vwcf9Cq5O5NSrTad1d5OU=; b=lMWu5dZgnecGBjUIG5jF+1AvBYObOeQidWADWpBXXAf3wjV2KQ5to14juDVngjxpC4 UfnvQsI8GydHCmzgtVmPLUhO3HhnEFHI0x9uIY5xrMhgqAQctZSTEh1vTcrbo9ugebmN tUoM2mHrSGeuA1MyqSzik1F3ALzAQBqV6yjTBnToDFFaAABuVQtev52vOPnuakYKTlGX apdjZKj138AXAll3hYjR0HBGO0Xmxw5IcM1tNW1xMcw5FjSylavZUoTP41w+exKD/Zo/ yGLTwXhif3qrttgCFXSiYPXPQZ+mMyRM+lEU3aF4nNbRYyAZxyHr9BdwYC0Tarj49NLY DCZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744322410; x=1744927210; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NzFUOXA2PlVpOukaGWjpW+Vwcf9Cq5O5NSrTad1d5OU=; b=Ypm4cU98VcsnJDKPpN2azjAYbKENg59D/xe3Q3eGqUWRzznX70LJbG+f79uT5IiM+h cfxmzvQ5sm9+FFgL1l5awGj6fpCsIfqaFPgqZmGTePm/VIJBgklxqcAt3IhUtGUajusC j/VtDznjjiI3QLxRt/ztqcJ9Rx8YmAjxHiUm9vWnQetq9spxDbYcIKTz7aCeER5jN0s1 sNSHr0YmoZedUotYwHk9+8JuBEqU4wrTwagZCzhsVnj7S7NKKUKKiDq23ohKD/hcPLQc AafRVoLsGcZgZirlqY1eto0qPcZTWXVH1xT9pYCwof2H67buNOFkA9l5RyJWwIuX6iVm j1jQ== X-Forwarded-Encrypted: i=1; AJvYcCUIbveRmbGF5hAs0zBBhV9x9OWsq29JYNepibRrFdb8F3Cy5vVC/OiKJdys5sGVCS/dVZhPT74W3A==@kvack.org X-Gm-Message-State: AOJu0YygLpAhuQ08RXYKWwAi6rrLh0j+JoVlLKUoZPGlB2N3dcINQyzA 0SCPKWmjfWSlnb8Ff6UYX1GwVRkDau9qxDZHuBsDufleqJJWCODDr4cJdVsq05nKIn4ZdWmatxv Q2yqkjPrk/+QB5snQP8KTcvgLMOM= X-Gm-Gg: ASbGncsTDqJMKjG5Ae45xZxBchY3qWM6jJ3FdNNvXEJv2ih1sMskz7QbZ4Nt7NON+Wc uNhezIt9PogPI2PNQtNd84FANv1PZ6HG34d/VLHaS6xEThJitrM358A9ZlWi3P22Y+JiQOJBFhU FCRDY78Tgqu2EroteoEtx6dZAwdfuIDlUP X-Google-Smtp-Source: AGHT+IG1mDFRL8aYmm3d+t6l4YqCBQXEG7Iw89dS6jPTFRXPvNQYKWR8XwxBSPXKGx5bvg91dWVEnJzOAmoomFLTT80= X-Received: by 2002:a05:6102:dce:b0:4c3:7f7:92f4 with SMTP id ada2fe7eead31-4c9e4ee6b5amr162309137.6.1744322410276; Thu, 10 Apr 2025 15:00:10 -0700 (PDT) MIME-Version: 1.0 References: <2d42decac5194c2c8d897b0424f0dcf3@honor.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Fri, 11 Apr 2025 09:59:57 +1200 X-Gm-Features: ATxdqUHyAA6zq9M3v3P8tWmqRklK_8tZvzqB3nsGrqvZdL5RqHyESZYjn0IWJ2A Message-ID: Subject: Re: [PATCH] mm: simplify zone_idx() To: Mike Rapoport Cc: gaoxu , Andrew Morton , "surenb@google.com" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , yipengxiang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam01 X-Stat-Signature: ys9dfgy9jofxxfbwwqzr5owfopgdyod1 X-Rspam-User: X-Rspamd-Queue-Id: 33A1680009 X-HE-Tag: 1744322411-174209 X-HE-Meta: U2FsdGVkX1/A50ZpaqYWIV0xtkSzdld332vvARo1J3wlU4DSb3ocRcL7rp7hW3bbMEKaxZq5jQbEYp1GaTLjkSZZ+lwi5cR2920oTbtRmi6HfuzhpRdNPDXJx++9DY4CVtihqlFMT2qX8yENSro2swKl0oCV55xkz/507cFfTOZGIJT4aKC+y+4vyeJNgOCB5wNOvngOUeVyuz3VPbtHrSkF6+R0Bgw1ktffq95LPHnlPGbOvso2Sro46YecIYqjjbSYsQnr17q8zZ4tPeZ9iy1O7Miu9PFpl5kZnnj2+6S6gAXMQ/JrQQENn1pxSsv6r+YuolSEQQVVxhJqEdyx1LybY+zF2EaSUsZ4kfogcpndvpu9kzcbUByYzyc3wUk6qi0Knx8Ej8tA/4w2yCXpp/CZ0TM3McaQHZAamU+bBySPfz+tFZic3/PBXlIDd4+wUXLRAlrPS67qPh13QIhDdiWfTKPgFW0ogY7wo1OYu/uX7J6xApUNrwLnivVwC86O7DgcWQSt+VUfPmyXhmytcZ0jNpj7wD5zn4S2agQrmSbQRDxz6R2FJQk4FXCBvgxsQ/pxh0gX9uf0Kt22o5eWzWdjtzP4pA0qhHPKo3OT0RtBf12KRmKgZFwfKKNZNsYZhrUPgK/0vY/r5tj8GE+RANNLP+4/iQzTLNtA6YRz2G/p1K/1isV/E5cg5/g8szW0enipd3IOy4Ks/KKg9Y8PN1Zp6Tx6FJX2difPFYbjXipFjRrQ3qpeIOAQF9DMk9RsLDaeKqSdnPEc9VM+xdWnpGhRrPhwsznnaFGeg3HZTDE6LFVWjfZl4+1WEZzchBnwtsuRzmRxRNiaSdVZQgRYXqDOpQyvwBWISZlu1WFnPt2YZZgl5KQ8v3Hjh2Bz/tL3mJY9egk2sgb4SsYihBy8FgaACJ0JlBuh+wY1jZi+hG87LFPV8aOhed4ikzFOIt2l6Uy5wRXieXYJVYf4QMk BpTCO3R9 CUai37BHhjuogNMPXW8LQW/rZY47r3/ANLTS45zg3YmdoQTk66gbkmbkmJTG5by0UKATqTznScyHXMQCUsFaaPo+S1jt7rHBN6fsh12osU5PikFoMx5hI66cu3+7UpM0wmnGO/8CLtGuHmU3Bi96xBuPj1oV8CX0V3s+vyHpfCw6Mz0KU84QE5CrmU7avzfFQYxIA3WRir02gdX9Dtx9zZtLXpMRMB+GNiqUylyiv1RG4uDr1844yDCSI3BTkLTT+L5GgRT1lNthxbV11KfcJPZcpMVV4+uucM9BcLRFJ4jIEskc7JiTUfmWSOjmAnQ+hIE+2+wKicX+A8ZlhAQH+tC6ZNoA97PnCGScaV+6mMfJ9LL4qhJkL/PJsZF+THa886cKDdBTHcxlIlMW9XaSLX+G8eo/JoNO/VdOy8jHL9waWcT2p/EHDNBCg4rhloTgMRN4wAx1A4LwB82yJWojXhXkh/pZTNTviQP4I61JKqTBJ8ok= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Fri, Apr 11, 2025 at 2:42=E2=80=AFAM Mike Rapoport wro= te: > > Hi, > > On Thu, Apr 10, 2025 at 12:03:00PM +0000, gaoxu wrote: > > store zone_idx directly in struct zone to simplify and optimize zone_id= x() > > Do you see an actual speed up somewhere? +1. Curious if there's data indicating zone_idx is a hot path. > > > Signed-off-by: gao xu > > --- > > include/linux/mmzone.h | 3 ++- > > mm/mm_init.c | 1 + > > 2 files changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > > index 4c95fcc9e..7b14f577d 100644 > > --- a/include/linux/mmzone.h > > +++ b/include/linux/mmzone.h > > @@ -941,6 +941,7 @@ struct zone { > > #endif > > > > const char *name; > > + enum zone_type zone_idx; > > > > #ifdef CONFIG_MEMORY_ISOLATION > > /* > > @@ -1536,7 +1537,7 @@ static inline int local_memory_node(int node_id) = { return node_id; }; > > /* > > * zone_idx() returns 0 for the ZONE_DMA zone, 1 for the ZONE_NORMAL z= one, etc. > > */ > > -#define zone_idx(zone) ((zone) - (zone)->zone_pgdat->nod= e_zones) > > +#define zone_idx(zone) ((zone)->zone_idx) > > > > #ifdef CONFIG_ZONE_DEVICE > > static inline bool zone_is_zone_device(struct zone *zone) > > diff --git a/mm/mm_init.c b/mm/mm_init.c > > index 9659689b8..a7f7264f1 100644 > > --- a/mm/mm_init.c > > +++ b/mm/mm_init.c > > @@ -1425,6 +1425,7 @@ static void __meminit zone_init_internals(struct = zone *zone, enum zone_type idx, > > atomic_long_set(&zone->managed_pages, remaining_pages); > > zone_set_nid(zone, nid); > > zone->name =3D zone_names[idx]; > > + zone->zone_idx =3D idx; > > zone->zone_pgdat =3D NODE_DATA(nid); > > spin_lock_init(&zone->lock); > > zone_seqlock_init(zone); > > -- > > 2.17.1 > > -- > Sincerely yours, > Mike. Thanks Barry