From: Mike Rapoport <rppt@kernel.org>
To: Ye Liu <ye.liu@linux.dev>
Cc: akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, Ye Liu <liuye@kylinos.cn>
Subject: Re: [PATCH] mm/show_mem: Optimize si_meminfo_node by reducing redundant code
Date: Sat, 29 Mar 2025 02:01:05 +0300 [thread overview]
Message-ID: <Z-cqMYag8kzS0MEt@kernel.org> (raw)
In-Reply-To: <9d48bfef-11b1-469f-bbf6-7693cb4a2c0a@linux.dev>
Please don't send html emails to the Linux kernel mailing lists.
On Thu, Mar 27, 2025 at 05:32:14PM +0800, Ye Liu wrote:
>
> 在 2025/3/27 03:29, Mike Rapoport 写道:
>
> On Tue, Mar 25, 2025 at 03:38:03PM +0800, Ye Liu wrote:
>
> From: Ye Liu <liuye@kylinos.cn>
>
> Refactors the si_meminfo_node() function by reducing redundant code and
> improving readability.
>
> Moved the calculation of managed_pages inside the existing loop that
> processes pgdat->node_zones, eliminating the need for a separate loop.
>
> Simplified the logic by removing unnecessary preprocessor conditionals.
>
> Ensured that both totalram, totalhigh, and other memory statistics are
> consistently set without duplication.
>
> This change results in cleaner and more efficient code without altering
> functionality.
>
> Signed-off-by: Ye Liu <liuye@kylinos.cn>
> ---
> mm/show_mem.c | 16 +++++-----------
> 1 file changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/mm/show_mem.c b/mm/show_mem.c
> index 6af13bcd2ab3..ad373b4b6e39 100644
> --- a/mm/show_mem.c
> +++ b/mm/show_mem.c
> @@ -94,26 +94,20 @@ void si_meminfo_node(struct sysinfo *val, int nid)
> unsigned long free_highpages = 0;
> pg_data_t *pgdat = NODE_DATA(nid);
>
> - for (zone_type = 0; zone_type < MAX_NR_ZONES; zone_type++)
> - managed_pages += zone_managed_pages(&pgdat->node_zones[zone_type]);
> - val->totalram = managed_pages;
> - val->sharedram = node_page_state(pgdat, NR_SHMEM);
> - val->freeram = sum_zone_node_page_state(nid, NR_FREE_PAGES);
> -#ifdef CONFIG_HIGHMEM
> for (zone_type = 0; zone_type < MAX_NR_ZONES; zone_type++) {
> struct zone *zone = &pgdat->node_zones[zone_type];
> -
> + managed_pages += zone_managed_pages(zone);
>
> nit: don't remove the empty line after the declaration
>
> Agree.
>
> if (is_highmem(zone)) {
> managed_highpages += zone_managed_pages(zone);
>
> Looks like highmem pages get counted twice, no?
>
> twice? The original logic has not been changed.
>
> managed_highpages is just high memory, managed_pages is all.
You are right, I misread the patch.
Feel free to add
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> Thanks,
>
> Ye Liu
>
>
>
> free_highpages += zone_page_state(zone, NR_FREE_PAGES);
> }
> }
> +
> + val->totalram = managed_pages;
> + val->sharedram = node_page_state(pgdat, NR_SHMEM);
> + val->freeram = sum_zone_node_page_state(nid, NR_FREE_PAGES);
> val->totalhigh = managed_highpages;
> val->freehigh = free_highpages;
> -#else
> - val->totalhigh = managed_highpages;
> - val->freehigh = free_highpages;
> -#endif
> val->mem_unit = PAGE_SIZE;
> }
> #endif
> --
> 2.25.1
>
>
>
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2025-03-28 23:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-25 7:38 [PATCH] mm/show_mem: Optimize si_meminfo_node by reducing redundant code Ye Liu
2025-03-26 19:29 ` Mike Rapoport
2025-03-27 9:32 ` Ye Liu
2025-03-28 23:01 ` Mike Rapoport [this message]
2025-03-31 0:19 ` Harry Yoo
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=Z-cqMYag8kzS0MEt@kernel.org \
--to=rppt@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=liuye@kylinos.cn \
--cc=ye.liu@linux.dev \
/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.