From patchwork Tue Mar 25 07:38:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ye Liu X-Patchwork-Id: 14028189 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 BA462C36008 for ; Tue, 25 Mar 2025 07:38:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 22381280002; Tue, 25 Mar 2025 03:38:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D0A5280001; Tue, 25 Mar 2025 03:38:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0762A280002; Tue, 25 Mar 2025 03:38:55 -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 DCAC3280001 for ; Tue, 25 Mar 2025 03:38:54 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9CFBBA7FA8 for ; Tue, 25 Mar 2025 07:38:56 +0000 (UTC) X-FDA: 83259271872.17.20D664C Received: from out-180.mta0.migadu.com (out-180.mta0.migadu.com [91.218.175.180]) by imf08.hostedemail.com (Postfix) with ESMTP id BC0C416000C for ; Tue, 25 Mar 2025 07:38:54 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=TfdPq0JA; spf=pass (imf08.hostedemail.com: domain of ye.liu@linux.dev designates 91.218.175.180 as permitted sender) smtp.mailfrom=ye.liu@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742888335; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=0qYHm+OPT6IV7+LE22/Lp+MT8DP0sV63My/n7IOeY/A=; b=Ou+++Ltn6L7DC3EC4Eh7xR0gHMzd48fj48S2bh6QYoKvo+WFqafxzdiM1WVmXq8cLtmn9h C3i476uoikVRiHs1e/oH/NOUnujbYt+4FsS1j8kHSuF+njfS/f+K1QJba+SAJwVZ4ntnfV CLBc0xTlnXN0IdavrdIjiU4st3lA9Ng= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=TfdPq0JA; spf=pass (imf08.hostedemail.com: domain of ye.liu@linux.dev designates 91.218.175.180 as permitted sender) smtp.mailfrom=ye.liu@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742888335; a=rsa-sha256; cv=none; b=bLUA7GHiVJ43TzZeSRsrPB3ouZnh/6Em3AAUt1E1bDKX8adFRWCHTpfXdBsP24gThqvRrq umeoya2LrFiXGkbK/UBTPc12MEojAyioloY58sTv53o32WQ8MXw1iiLEXBy510yBNr4Opr do0wvA0G69wS8vhyQjrjwTzpukRMyMI= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1742888332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=0qYHm+OPT6IV7+LE22/Lp+MT8DP0sV63My/n7IOeY/A=; b=TfdPq0JAGCc74oiJ/LrPNg5urNEWTRvjtFTXk8beTBmt/F6+g8g4XAx1cQ4aoI55eaBqNf MZ+xxuCvph9rHOijiUbNLlOKZH01seZttbMYxyIT9fXG6T3k1T4J6XEEzixA8Edp9mX7oV znOLPkIb8X3SASnbCAGiqPXgLK8x1pQ= From: Ye Liu To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Ye Liu Subject: [PATCH] mm/show_mem: Optimize si_meminfo_node by reducing redundant code Date: Tue, 25 Mar 2025 15:38:03 +0800 Message-Id: <20250325073803.852594-1-ye.liu@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: BC0C416000C X-Rspamd-Server: rspam05 X-Rspam-User: X-Stat-Signature: my7uin9fqwkn48339t6938rdf3offa6s X-HE-Tag: 1742888334-378897 X-HE-Meta: U2FsdGVkX1+5Cwt1v6axed6VqBHELowElgqg4vxN7xC/lD+QwbAGvROsJkR5CHr/lqN1FymxqhrxZ9ahb2PtYVkvJdFRZE9+BoaUb3D7msmwiR+XYqqvMT/ggeKNjDpVGm369wu0LjDehCoqQ/Vv6bCFPeEU4/dN2eKGY5UUkaiqVtDPetUG4u8VV2ZgnuJuuqfgOcrmyU5jkaaLZ8TbEaq+TdzCitFuCoeSOSlUgWVE8loQTsbw1LTLu16hN9b4Qqf7RCPgIMlziMM2cVWsjAw7pyqoBLTgaxzl5LdVlJsmAPYeYtGk1voNsiotCvQYjssbGfYNp+3iHIl/sw2jKCau+CJ+QaeJ5WwQHjuX0yj6nvWv/vZhgALYLSnVawq8FkeHbtrEjX20cQfgiNKvVyYwRcB4fSv9kM7Gi89ZNFovZK3bbfClJwYZfXfqd6y8lHVh3D1E2ltr7SYM+/jxQJYmYt2nA12aw3KDj36/6DGA1njLxnKN3kzGoW9kfxjKa8LF9OXMZMn89Me2lUt2gnBE4KCwbJVks1tp5E1P0Cx3qczxWvEPPDmH7HJ0EJF/AQbGr0wfUxPx3ksunIVGgqZYC/47njxp2jjA+831hr4gh7d6VRGyk8GaMBoV+tqfFu8xOJxdpl2n5KKndRTbWhZW3EUy7vUXxg373wKfZ1W+AVucfxhT7hH0YLrQup9WTd6otcVfTzXXOkc8LyAlD1O//t6zNUS+IJidgZhcE0DtFqdQUb6iCsKp2SERk9ujMLnjNeqAwtlvENsQi0snwN5IT9zKJbgZnml3/wvCh8FhE3HWHD8fbfrgzpUUA4WZuWjcOJRP7qUQSAnUO0vqb0PusRXzJ5QUcxHHs2mLNbFOGfdIbk81nmfG5oVLrpUpmaYBQ9Yc9rxe5tGkl2F9PYJQxHsCuOUf+L3KHYY2hTqg4HTwn8jEmdRrram59569y0ucyOWQqhSfGf9kokv uz7b8zqD RFovx0V27lSp/YZy+pRx7jK9MqgDTPVp8RD6vk4gRw3Rf4uHCLFNTA+zFGnPZl089EqUq4+JdU/bZxs54U9C1CQhxsqmFX8bqEs56bz5uZuxnCbYeMmqYGbmq/nxhvTHtFzDzswHgWkAc+7zQIDtEHv3k+wFpeuFO2LvxKe37gA2RYBFpFnganYzVP5RAZB24QnCIqPh6hoYZOSfqbQG/N37Zsw== 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: 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 Acked-by: Mike Rapoport (Microsoft) Reviewed-by: Harry Yoo --- 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); if (is_highmem(zone)) { managed_highpages += zone_managed_pages(zone); 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