From: gaoxu <gaoxu2@honor.com>
To: Matthew Wilcox <willy@infradead.org>, Barry Song <21cnbao@gmail.com>
Cc: Mike Rapoport <rppt@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
"surenb@google.com" <surenb@google.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
yipengxiang <yipengxiang@honor.com>
Subject: Re: [PATCH] mm: simplify zone_idx()
Date: Tue, 15 Apr 2025 12:34:27 +0000 [thread overview]
Message-ID: <b2bde1ca046949599d74cb9e88c21ba3@honor.com> (raw)
In-Reply-To: <Z_xGzAx13diuCdvv@casper.infradead.org>
>
> On Mon, Apr 14, 2025 at 09:57:26AM +1200, Barry Song wrote:
> > On Sat, Apr 12, 2025 at 10:06 PM gaoxu <gaoxu2@honor.com> wrote:
> > > The zone info obtained through T32 in the Android 15-6.6 system(arm64):
> > > (struct zone) struct (1664 bytes,
> >
> > I don't have a strong opinion on whether we need `zone_idx`—I'm okay
> > with having it or not. If you'd like to add it, feel free to send out
> > a v2 noting that it doesn't increase the struct size. If no one
> > objects, it might be a nice cleanup.
>
> Plus it's already 1664 bytes! And we have, what, 4 zones per NUMA node?
> Growing it doesn't feel like a big deal. Although "saves two assembly
> instructions" is also not exactly a big win. If it saved a cacheline reference,
> that might be more interesting, but it seems like it's more likely to introduce a
> cacheline reference than save one. Maybe just not worth doing?
Zone, zone_pgdat, and node_zones are all considered hot data; most of the time,
they reside in the cache. In contrast, zone_idx in the patch is not hot data,
and executing ((zone)->zone_idx) will add a new cache line.
Am I understanding this correctly?
If the heat of the zone_idx function increases, this modification will become
worthwhile. For example, this patch will increase the heat of the zone_idx function.
The patch (https://lore.kernel.org/all/20240229183436.4110845-2-yuzhao@google.com/)
will add new hotspot paths, with the details as follows:
__zone_watermark_ok()->zone_is_suitable()->zone_idx()
zone_watermark_fast()->zone_is_suitable()->zone_idx()
get_page_from_freelist()->zone_is_suitable()->zone_idx()
__free_one_page()->zone_max_order()->zone_idx()
next prev parent reply other threads:[~2025-04-15 12:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-10 12:03 [PATCH] mm: simplify zone_idx() gaoxu
2025-04-10 14:41 ` Mike Rapoport
2025-04-10 21:59 ` Barry Song
2025-04-12 8:34 ` 回复: " gaoxu
2025-04-12 9:15 ` Barry Song
2025-04-12 10:06 ` 回复: " gaoxu
2025-04-13 21:57 ` Barry Song
2025-04-13 23:20 ` Matthew Wilcox
2025-04-15 12:34 ` gaoxu [this message]
2025-04-15 14:49 ` Matthew Wilcox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b2bde1ca046949599d74cb9e88c21ba3@honor.com \
--to=gaoxu2@honor.com \
--cc=21cnbao@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rppt@kernel.org \
--cc=surenb@google.com \
--cc=willy@infradead.org \
--cc=yipengxiang@honor.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.