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 B3F7CC02180 for ; Mon, 13 Jan 2025 18:43:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 342246B00A0; Mon, 13 Jan 2025 13:43:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2C9CB6B00A1; Mon, 13 Jan 2025 13:43:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0F4376B00A3; Mon, 13 Jan 2025 13:43:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E3A666B00A0 for ; Mon, 13 Jan 2025 13:43:17 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9F91DC0250 for ; Mon, 13 Jan 2025 18:43:17 +0000 (UTC) X-FDA: 83003301234.25.2B969F7 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf17.hostedemail.com (Postfix) with ESMTP id 142C840015 for ; Mon, 13 Jan 2025 18:43:15 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pslPNXFx; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736793796; a=rsa-sha256; cv=none; b=hCvhdWYSD6G6uPTNktrJPmsllGz5b3jyBg82i6XXceSa75UZheZfJMXQuzp2vxWYDUmWla Mkibaj3/+t8YnnlkxrtBlRVR5YaVW1D8u5NMjHIGcLxeLrABeMfKgbtj7j+k67JUPTKjS6 rTYkguCK1uTPjY/a6Eu/TdcvplfjlL8= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pslPNXFx; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@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=1736793796; 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=wMwr1nupXlN9VQ2z16MfFzkgot2Lkm4yM/vEIHwnsJ4=; b=Pdv2zKWOWOzwXg9f+YlOEV9QAB+dNJr/W2cWC534KtEqexD+Cc0aotCtyREWrRmdcuaSCq bglSdzAqbftYbu4fuuy2PjgNFdU+J59YAIbOWY0WOS9bq2FfhO+gD8RKyhx01LYFkverU5 sQlpAvIBL5aoknGmPtca0dsuYEhx55o= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 2BDB4A412FE; Mon, 13 Jan 2025 18:41:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4BFAC4CED6; Mon, 13 Jan 2025 18:43:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736793795; bh=uPw2sDECkRR33mE3fpDXv7rzwJQNurpTnfV4CbbdCg8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pslPNXFxQWxCpVSFzpmuwnPaNvCYkxDBsQgesKVspmuqkAwKmfGzCanXIZU/7jPUw kjQne8OFofSUdu4+F4H3+NpkiBtc7aPkcswT1JjfG3fA6dIT9HT2R5a/z+rR+PWYON 7Wvd3nNNDsHJQnE+XCYDWgprUIflHbuniWLUA885uqz1VDg6aRNsrR0z+FIclezITW 3NoOo6LaId1tzE2EM20dMNaNWXoJMeNYwD464HYm7LUPpf3n/aMoN8iZRJWHgWvOA6 EdeiDcEjCkvWdUhsHGBrwm3AHbwSXMY3sShKJpVX2yAZlDIuEWEdOKx0ylBIcuCWE8 twUYOtG5CKzkg== From: SeongJae Park To: Usama Arif Cc: SeongJae Park , akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org Subject: Re: [PATCH] mm/damon: increment pa_stat damon address range by folio size Date: Mon, 13 Jan 2025 10:43:11 -0800 Message-Id: <20250113184311.6572-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250113180340.805474-1-usamaarif642@gmail.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 142C840015 X-Stat-Signature: smk9fb4kyu6qfhqmbkoq5icd1i6i1e19 X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1736793795-297872 X-HE-Meta: U2FsdGVkX1+/19f5EvXW4ZvGuIsinBw/qkPlZgqVRx22Cbogy+y307e4gFskKqM1O3DEjEQ2U3mgAIcxULD0IbssQajg1oYbS+UXuPAxg0VPnrhjW4Qdme5g2hZMRWaHKgIHu1gVTGwG05H73FpEGpIWnwUI9B5IyiHWm9GhcezHV2KyYnt9vEZ1UszNReuQHXFUrZVE7d833Zjir7TRPcOEsnDBHX6a51NHmP6LXMGnUCBvxzwncfIXLcXAJJeCHAffEn61CZiNEigfGQ6h4UC40zxRzwCac1EQuPaNVdpQvmz/+0hJkCEql+9Pya8hCgxgszu2UOLrm1CcVoe6yP82PBgIxyPJxL5AYbM0ol27nUrQuL/StrCICBQq2nU+m5WNc1QUfB317HruqXkq0nu4uwXc49dm7caiOf1wjNZAnx1jmLKGF2/LHgebKg14bksWHg8x8YzDiWdQdhSQbJJJ+rIhXYq7yKrhqCFAL0B4+ZReH2DyFLLNEyOM2d7n6Zd4+8a0L05m9DuqyVAgKev3hfgbV7oZE7Nbmk9lvLKQHLTwx0a0HRBqGJzJ7l53u93TBo4jq+G/y4lxBfJqkLrhZIrkvxnPRycl33CbuROOTP2rKvXKyP5IIIM1HC81BH5Wf80LsRgTmuMKFxXKADN7E1MJ6DuYu/gHOnvukPZw20oVhZ6R7bF8E/NEqiUOgINoXYk2rNkoYrsQEqWWDCKKXHgrRXHUVBpGQlj3XuuOLahGJ1Fosstvak+DuH4m3Gd+rLrBPGAT8yt/Snmzy2YaI4VK2X3WgaNnKSmSZ+I6jpFNpKkaGdK4nH0ygh2iHthsvfqEpL8f7N+4RfW1pVHuHOC/oN6rcl5KbSoy2k2A0bGZlR/CFD19PUYJpaLOGqCBTNy8Mia6SZLK+WtdFyeujnozq1emxd2AHi1LOGaxtZ7qTQef9VVndfFNMhHFzE7O4BV0x/9+AW56mGD P4PEGNu9 LZG5WcOqPzvNZwQxq8RJm8ljdrstA8PGc1TbUZhEBmX2SfwSwRz9cz41mAilxe/LvsMBvYmJQAVVxG0cs3jaFVlZ+cLsy88hX+GYZOBsdI18JqZ9QCihHo6fETxv5sJWfhGUIgHXUNo5pHaOl81LF+KGItBxFgHB25ax1lqJBFAIcRLOac6YDUadjEyfJOG41LWDAyGQ/NjF0faV04mtxKJJoFkRZc4mbjs5kmF3PoFbTDj5ycIW9DiC5PHC9WtXSZz6JaRCc9eXxJcsW17daQ9xs6Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Usama, Let's use "mm/damon/paddr: " prefix for the patch title, to be more consistent with others. On Mon, 13 Jan 2025 18:03:40 +0000 Usama Arif wrote: > This is to take into account for folios with size > 1 page. > Iterating at PAGE_SIZE increment would increment sz_filter_passed > multiple times for the same folio by folio_size, providing incorrect > stats. damon_get_folio() returns NULL if the page is a tail page. Hence I think it will not increment sz_filter_passed multiple times? > Hence go through the folio only once. I tink this is still nice to do, for more efficiency. Can you post v2 of this patch after updating the commit message and addressing below comments? > > Fixes: 6347f3385dd0 ("mm/damon/paddr: report filter-passed bytes back for DAMOS_STAT action") > Signed-off-by: Usama Arif > --- > mm/damon/paddr.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c > index 6b4397de4199..cc789a97c6f5 100644 > --- a/mm/damon/paddr.c > +++ b/mm/damon/paddr.c > @@ -504,7 +504,8 @@ static unsigned long damon_pa_stat(struct damon_region *r, struct damos *s, > if (!damon_pa_scheme_has_filter(s)) > return 0; > > - for (addr = r->ar.start; addr < r->ar.end; addr += PAGE_SIZE) { > + addr = r->ar.start; > + while (addr < r->ar.end) { > struct folio *folio = damon_get_folio(PHYS_PFN(addr)); > > if (!folio) In this case, the code does "continue". 'addr' is not advanced, so it will result in an infinite loop. Let's do 'addr += PAGE_SIZE' here, to avoid that. > @@ -515,6 +516,7 @@ static unsigned long damon_pa_stat(struct damon_region *r, struct damos *s, > else > *sz_filter_passed += folio_size(folio); > put_folio: > + addr += folio_size(folio); > folio_put(folio); > } > return 0; > -- > 2.43.5 Thanks, SJ