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 B9529C28B20 for ; Fri, 28 Mar 2025 23:01:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0CE3828016C; Fri, 28 Mar 2025 19:01:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 07E5C280165; Fri, 28 Mar 2025 19:01:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E60A128016C; Fri, 28 Mar 2025 19:01:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id C5981280165 for ; Fri, 28 Mar 2025 19:01:13 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 5A5EDAA0AB for ; Fri, 28 Mar 2025 23:01:14 +0000 (UTC) X-FDA: 83272482468.25.2DE903B Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf28.hostedemail.com (Postfix) with ESMTP id 5B33BC0011 for ; Fri, 28 Mar 2025 23:01:12 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=e1d7Empg; spf=pass (imf28.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743202872; 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=7Vq7VLFchopJd4aoSDTQyuhW82hqX5ilhksWs4nNxCY=; b=1GDiYaGvF+9NNezzeJdF4kfPZUXuapPBC8suQRkO6L7yM/jddcBv+3MOf5msC3TQ0cjZnI o0vLv4rk/eVX8TylfCPwrB/OzprXhpMS+EusehqoVouz3Z855PbmPko6PjGZBD8QNDBk5A A+L8dN0nqZVHfSMSNKzw4RsM3vVvddE= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=e1d7Empg; spf=pass (imf28.hostedemail.com: domain of rppt@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743202872; a=rsa-sha256; cv=none; b=c4EQtfPEbYDTn0davvuI3TBXVDOa3OnEEu9s9vtUzixWxE7Jyuu4b0875F43dqMIQillDX dRBjRYqkTqUOLlLy36kvCGA4oLs/9pnBkYQoJDhKdgpZZn1z4EN3+L8+xZlBUjaXyaB1U4 M6fiIcFP+U/6nO58lMab8DKirwe8zl8= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id CB2F74394C; Fri, 28 Mar 2025 23:01:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46438C4CEE4; Fri, 28 Mar 2025 23:01:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743202871; bh=04dgAK0A3bn8jeB685qjEb+d3VvxJzC73Mz7EO4TC/I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=e1d7EmpgQSHXGQmHmSDrot7Vb/ffiOAIwZMCsqyNcdju7ydyJMuy1Avjp5RFetZLm fgBpjVgh0P5MOTFPp2txuLP8YVPEdG3oJ+j3zlfxwWkAwTpNatv60jHBrz09RV7/b1 GVhnQ1FkS9qzSkNkP9aDDU1/lpxk0uphCYWny1DQWXNeQRBQP41kNYAdTYoNipi2C4 1A7ZnAdCR0qhtkw7sdzUYbAJUnKR/0UTp+qzqEuZW9Rrfgk/SFFwNdy9Np4D6/qJ0n 9j1R/tKF6BG7HdlNlJoJA5H7ZVAFcrADnfM04S7wfqnDf0Gv66n/7tLMTHCJG+hTQx 1YidgbnHqLs4g== Date: Sat, 29 Mar 2025 02:01:05 +0300 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> <9d48bfef-11b1-469f-bbf6-7693cb4a2c0a@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <9d48bfef-11b1-469f-bbf6-7693cb4a2c0a@linux.dev> X-Rspamd-Queue-Id: 5B33BC0011 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: rmx93d851umtw9j8j7racbysiqw6b6u7 X-HE-Tag: 1743202872-357285 X-HE-Meta: U2FsdGVkX1/edgOtViHV163vMF7neasn4DheP99UWmrDn042BEvxr5xa6Kw6b1PWQ2rBgwnbr07A2a6izX6kqq8bvVnpm1CMfd06mlxuaSYWDDrFduaQwOpj4WLOQGNGyMAGmxaU42wSLKIQJ8KPMkOA+uwTMG7WoCKbHsENGZhW0Q9Wnhdeqrs0zvI4UL7t9IJbpSJ/msFaRXqpMdv6996YyMjGYTikODckE5hMSRPn9egpUB+T/ZFIoDY6Ly+eNLBG6KRAPoF5qSghP0890nSQ+vvNjrPjmN/TjL8Xwg7VzmmN6VXikue7ibHDNHxSDEL7kqTgq+R1Ds0WyHv/tlI8UuEGNmalJHxIXJ0slRcfnrqoGMFUHu7rlugxfYQw38xZyAtiU69PWVMN9oUW3kjXbOsoqCrLwl86rm0KEA+lzb+x76fCjS8dGrT5uZzVdATmTUXBQdZjAxA7Hhf1WahOtO9mlQEDDGu2Kqr0z7imTPY1o/8kC7BNhlxrxNQxwTAOWonxzLWkMstqYUW8E3X7d01NEu9kM+u2CHVwhAIOJyR48MpQ9eNcCX+4Qz4Xz1BbA+YvvtLRtDi37r5oPFdbQXhNR7fnaOzrBJIXi7cL7CWOy03IBBgu+ESgOA93sPWd4NoHfgJVB+oWUsY6PvFkFJrzVEZwONHs7UZzcecOh96TkV8dg2vLMOqTSjTlQPqd0ivnw62OUkCo8cDlHBo9qvM4JmlgMXBliPQYhSRMt96slgWVvgVTzfPWjifgiT0BKcAgvGEVSjlVlwEdBDhCKI0xP3LSDUs8oV2XsobkO+1e+v7r8o510JdcAqQXPLRA4JscoW2ILMs/unTR6LGNvtwZs4fml1cpuedCf2ihwZvozmdkffmpg4XaPCyPXxhGwSAXt9PvGkdB9jWo/lNLP42nAB8eaKHFSxwk4HusIZ9RFiBXXUUnmyatamdeknWxw6TN6rXCx9qDDa9 ih//jSBW 0pGolBCeJ5YbwDLkR3ocJ9CNMw7/z6b14mD0CS1p5s/fxuS/cBwryg7XIVNbeV8clS8koxpxYQ6YoP6dvgnnoQaPx0+6n4zxIxemH0azC1wxz+9aZmQiPdxe57iH1WbBOr4HgHyzwNoTxkGH7DCZfZH0VPvavlUCiYEaQQK7iHP5V9HZ30HK2JAp284gVVNZgz6zsOdxp2aVyFwimXy5jBK0GIk1dmcGPdO7zhCZ5Bi0XZQEXt9TTCA1a6/k75YcPV+GD0xJMj3d/pSu0um+Rd0+fZX235cfY0foLJq9SrGzfB+tF2vbNOZqyGUCN905kIfCMzEzfI01BbXmNDuVov1kEHH44ZN2W/uwWUwfHZ+H3r/dOHKj3N/acKrq2DyOBCiLU 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: 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 > > 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 > > 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) > 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.