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 0A711CD37B0 for ; Mon, 18 Sep 2023 11:11:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8549B6B02F7; Mon, 18 Sep 2023 07:11:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DD2B6B02FA; Mon, 18 Sep 2023 07:11:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 67E906B02FD; Mon, 18 Sep 2023 07:11:14 -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 545526B02F7 for ; Mon, 18 Sep 2023 07:11:14 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 22CCE120CD1 for ; Mon, 18 Sep 2023 11:11:14 +0000 (UTC) X-FDA: 81249451668.25.DFC7583 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf12.hostedemail.com (Postfix) with ESMTP id EBBCB40023 for ; Mon, 18 Sep 2023 11:11:10 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=gvNvbnWd; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1695035471; 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:in-reply-to:references:references:dkim-signature; bh=xayNds7XNkHYeFTLg/iCTI3hZD5HT0JnDFPzYYCgfRE=; b=kRxTdmU3QaIf92Wt4Mk2gr98JNVV9uL3fFwJdSoW8rjo5lQOEm5V3znZVXfxknctLQBH0Y N+K2Vwo7uSdTukjsJfGE3RQtl2p4KvRnlT1LcSbBHVGtctVabrCQZjX7oMABp8KQADnUmC r8mYuY3HOncyVosB9ARXUcJpZl9kI/8= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=gvNvbnWd; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1695035471; a=rsa-sha256; cv=none; b=Od2y7jNr/pnMfbmOakWZ89GHnyDl6AUqY7bYjNlPZGNNcowjeucGm60fAny3mF8VPV/tmj eExBJruC8U5FBV9Hc+bcRW3rsaBKRiQs3Laz5r7hJM8Lqel8I34R3vK8dlirhci2ZRzHNL WECKTU4nN/RqHgQve3wnjogvhaF4tjA= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 07126610A6; Mon, 18 Sep 2023 11:11:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8813C433C7; Mon, 18 Sep 2023 11:11:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695035469; bh=ex+golzLi755Q7c5GOzK8ML6NZjydWxv20lWvmv3MMU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gvNvbnWdRbTuraWZa+yNPIF7xHuuFPk5aPVI1hEQBDTXoB3FPJgE5jOHvHtp+b4Im fRwZTZittY0g8uEXwUV6SovcdsD7alarLUAgyDqGasuPBPlf8oRruwcvscwwcInDbx c64577bBuOABQ4A/s+2HamKLkPaMaBHn+zWWi7CTLtYDlcmefEv0lrfae/ZmdRRYV8 k5uIB2umdbYEWdT2YNQUeJhLprEsZAKqR4CHYNDPUaNOGtXrl1OqZXdUgFyV/0lYY8 TloiNrZAudiKwcEK5RrMfXHCIgMPur5EWHwWFkiHFyLTJ/4YOLhmIDa46PuEwIazOt o8U72h6ghLjqA== From: SeongJae Park To: Huan Yang Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev (open list:DATA ACCESS MONITOR), linux-mm@kvack.org (open list:DATA ACCESS MONITOR), linux-kernel@vger.kernel.org (open list), opensource.kernel@vivo.com Subject: Re: [PATCH] mm/damon/core: remove unnecessary si_meminfo invoke. Date: Mon, 18 Sep 2023 11:11:07 +0000 Message-Id: <20230918111107.85008-1-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230918094934.18123-1-link@vivo.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: EBBCB40023 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: t377mg5aerqt7sphoj6xrb5kz3nxc7bx X-HE-Tag: 1695035470-517901 X-HE-Meta: U2FsdGVkX19l3143PNFrOxPwZlqm+awyVxt0yFc+CB/Pd1kjw00RmrsO8QY7RdLlii90krnuDKPegXXSc+pyW/tnKjf6z0od2MpitBdcra1LZ8TQlbtMiToCG3cr18CppzNwMSFYeGkoLKaH9PhGaOD9LuNEd3h0fyguenN0+KCtBw4NYe1Iec7j33W0Hl1jSGZYQmvtTxRLUiVWWx1rY5ao1j/NT3HFCaz1FJ8urClLLm/2tWbreVu2U+BAaJQ+BxovyTQS4AMb/pccMGuGzB56bhixUF6ZmUhhLE8tD8sk2Ooi3NVbvKm/cMW+rL0aJmCNNbE2tI+4194bsv4l7ZqnH56xlpmV+FSf87c7BfYFcDtjP3B6VbGMtstKXmHGVvCDtfXbbwyLTJH4qR9jFFxSyJ2Rn6weolr+b+xNo/GntPsVnpY5az9qK9dGEsF+a99OT/BiR1Dmb1NTjf1oK+K4dbEepsj+U8NzDPtuNN3dgX+ziZ4tjPpitSRHnp1Qi6LwPCDQ2xqENrUjTUAJrke4WHm3zr4DYVEdy9aI0G2z1ZquBlFe+HlnyXgyZgw+u89UVBcIS4QzqypXcmUq5KrhSv8Owf4xcH9ndBx2spbmoLx4fdPbJ3EjfDClsHsZWiI6j9SbQNjicoyGabJ0RArkZln1tj0j2tY9XjWGq7yWfekUIP1Y0xyL+tzsuDbk6pofbEstcHXo6HqWusrZi8G02rtn/X/jPdbgYioFVN5m3juszWM1/UugZ/ccCfQcrFT0eygKHjzl65IwBaM9LAE+Pczpu/VM1NlP0MnEVZzb+CgorqYE54RSzVPq6ajVbblxIVtyFT/0izOJNfWPw2sh+rcS5gBRVsS4CwM1PNLMmhyaNeGHFy394t9woScRv2FcU/L3uLYir4m4IwuSFnpVjp8XhXiNNJsNx8K2IAz0h/Mkrv2aOWArSJzOcbuh+EfSB1DVCkC8F984MxI HqXQ4Usj K3sq5+UkGjX4CM5+Eoo2EpqkXDWub0lh5v0EZS6CzZJCIJOGM5J0LKyTDOOAZ++For8+kpJ7av6740bLG8rfbwTk+c9F1vkWA2sG7zRWlJCpgtS/gO6KaEQPf4WGf7rRqB+7JeuRg9W51o244Z91jOgtxMe3LkMump3fUacQ/Pu/luOlKRXEqa1YEzX5FzDpXVS3tOM401pLRxWJWsS4jz+My3Radpa57S09orqIkngIlWG/xrv4N+93kFJnSxThxfet4gIe8bK15NsCloQkKjIKiLw4HWtHoQ/hVYEr15kbjDRhmQm7tiZZlAJZPzwcyNoQFxsUcgFXW1BXyOTx3OOR6bHKj07MsjuV0a4mYsCaFSjaGHnMvx8LTHS6u6Tu8+ruW 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: Hi Huan, On Mon, 18 Sep 2023 17:49:34 +0800 Huan Yang wrote: > si_meminfo() will read and assign more info not just free/ram pages. Nice catch :) > For just DAMOS_WMARK_FREE_MEM_RATE use, only get free and ram pages > is ok to save cpu. > > Signed-off-by: Huan Yang > --- > mm/damon/core.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/mm/damon/core.c b/mm/damon/core.c > index bcd2bd9d6c10..1cddee9ae73b 100644 > --- a/mm/damon/core.c > +++ b/mm/damon/core.c > @@ -1278,14 +1278,16 @@ static bool kdamond_need_stop(struct damon_ctx *ctx) > return true; > } > > -static unsigned long damos_wmark_metric_value(enum damos_wmark_metric metric) > +static unsigned long __damons_get_wmark_free_mem_rate(void) Nit. s/damons/damos/ would look more consistently, in my opinion? > { > - struct sysinfo i; > + return global_zone_page_state(NR_FREE_PAGES) * 1000 / totalram_pages(); > +} > > +static unsigned long damos_wmark_metric_value(enum damos_wmark_metric metric) > +{ > switch (metric) { > case DAMOS_WMARK_FREE_MEM_RATE: > - si_meminfo(&i); > - return i.freeram * 1000 / i.totalram; > + return __damons_get_wmark_free_mem_rate(); Since __damons_get_wmark_free_mem_rate() is just one line function and damos_wmark_metric_value() is the only user of the code, I think we could just writ the code here? > default: > break; > } > -- > 2.34.1 Thanks, SJ