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 F3CC4C36008 for ; Wed, 26 Mar 2025 19:29:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 281982800A6; Wed, 26 Mar 2025 15:29:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 208D328008D; Wed, 26 Mar 2025 15:29:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0AC612800A6; Wed, 26 Mar 2025 15:29:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DFC4328008D for ; Wed, 26 Mar 2025 15:29:14 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 9498CB6F17 for ; Wed, 26 Mar 2025 19:29:15 +0000 (UTC) X-FDA: 83264690670.21.BD43CFE Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf12.hostedemail.com (Postfix) with ESMTP id F05F140009 for ; Wed, 26 Mar 2025 19:29:13 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=H4Ob30Ax; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743017354; a=rsa-sha256; cv=none; b=N/HcGnAep4mBRtIQssqzDKanirvc74iSTqqgxqTtPgzx7vvF4qultLOt4eXPktWtCw62ja F5dLkvnXexYdLdXFGFo4flCHxyfVy3o42wpig8qDfEpvZlQrQAga5YAJQxsJQX+V+CCF7h B8In/cFR6goOoUVvk9tBPbpS2KwkZRs= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=H4Ob30Ax; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=rppt@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743017354; 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=cGtqwZ2DBk+c5Su5qsHDWTyXwhnG13Y6LgOkKGjy7U0=; b=FZuKzIigX8GVQWEwLF9l03oAahrQYgxzTWCHx1UtK3syyfI1+3357mxDCuC4o8QxD3bGMw MXXbEsiIm+WS74oeZ2JxNqKfarTd3zWvNzFdFg9bk37hmYOHhtRu9vfx8Uh/dEIoNeOmYe ORAOnEQMgsQXfH3GqbFMsfeS8rQeDHU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 4AA3D43B8D; Wed, 26 Mar 2025 19:29:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F0AB7C4CEE2; Wed, 26 Mar 2025 19:29:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743017352; bh=fsm4/swelvXW96SQIxi75KS0V72OLyJnZi8zkA0ewxo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=H4Ob30AxxE8pcmhK5XDYw7dnctJwcwk3XpLSPbny9Xi4N3gCvijUJFTXe/1TOSuIH DmRuaVVJLr6BLIq0r74M7A24glNIVd74ShwiilwkVN2+7cQ8eHVsQl9S+BbxgVaswO UybsBLMK7oWC4EOu4LBaWn39Yg2F2H3E32RuEcMpqAnoiHiXnTd4auD1aKHtuj774e 1dXBlFcWwEv0RYu4x2B0wNPAK5TwepsdQxcT9+/YQ4iBtfjT/DkipFyvHviUpQmblH BM4jgCcn61CH+b8KWgeC02UJ05h5ipKTC0I+A/zvpI2PlLV7v3VpjHnDc9KJG1/Wh3 tHxHO6xHVCsTQ== Date: Wed, 26 Mar 2025 15:29:10 -0400 From: Mike Rapoport To: Ye Liu Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Ye Liu Subject: Re: [PATCH] mm/show_mem: Optimize si_meminfo_node by reducing redundant code Message-ID: References: <20250325073803.852594-1-ye.liu@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250325073803.852594-1-ye.liu@linux.dev> X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: F05F140009 X-Stat-Signature: duwy7mzqe8or3kh53sbrf7nzho9matmo X-HE-Tag: 1743017353-502560 X-HE-Meta: U2FsdGVkX18RFB/4yhST/vxuqKOK3cm0JqOjpzLopWgD8Mmaz8NpGhfzanJtlGjNZX84tVcmUOf/UByAIItqlR5SkK3Q5yBbpsKD3MX5hwHFfE6keK00ErRmDA34j1x52phybGiDxZ590EWcAVBxU+2XZ2T5wiFd0OEBV868bs8G/n08U9hnO3YqQsOcl+ghh7Sw9s9bXt3YHS0wKlB3u6aSFH4W9UmLIRJ0hCR9Kl9j2tdWVC4WUO4NPYjgrSmL1NcL5yk5Hk+tHbmH0AlqjIkidAjfo+eHA307f0ht0nnZVsewsz25fhqYlYThksbccWaphfsCwNQ/JSUen8iLL7qsPvYBhKmN1DBE3xeoBIxNQNa/WX9ru4lPjyxlvTfbiTD0ZEUG6aehYRDvsrH1YWpAfj0Cs3EWptzbLHb8Ai1Zsh+zGCDoCfe3ntqa9PtJybaNG9HlEMtpQ7hQyZLOH/TR5uMVI9RbwxCMhXJp8FYKnfGEVRzAO5DIaV2jPwm7vzNjWXx8/x0QvrC5edwgIkp39HPxkjaT47U12PozwmktPIO/eQuphEWFvcpTo3PWiPazSK6RrZR8fJilqa0BN8hzhIa5lbS9tfhbnE71QBecStqEuyKOlXs72PwgdNNaA0HcqdtF7QdKiL23skhiD+BhFQaL3b8UfKqhnbbhI2Wmavbj9yn0OSbmvhW4NFtEKIc5udVTR519xuAZqCTtVl8HlLskT0rb192wVa0SNaH3Q0nF06rQGqfYwg2F2GDxx9r+YCaa9x+V7lpCzFyUYQdoqK8emVI2k6coN7nIFml0MrEGXeAQnBXy7El3EVY0jXWYLkZP+eRWGp8yh2CfsFEY8IlK2CS1bVhUQEhaagBdvMhDeBf/AZrxbVQ9E0YHrn0WA/GflSjqWXO9fGs0U86qyp+75MQv1zSTpwKbhnbEnbQH0GK4xR/g6zq3IaQLi34ohkukWFaB68DHZgM 3UkrO/i0 W8bjF X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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 Tue, Mar 25, 2025 at 03:38:03PM +0800, Ye Liu wrote: > From: Ye Liu > > 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 > --- > 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 > if (is_highmem(zone)) { > managed_highpages += zone_managed_pages(zone); Looks like highmem pages get counted twice, no? > 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.