From patchwork Mon Jan 9 21:33:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13094366 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 A46D9C54EBD for ; Mon, 9 Jan 2023 21:33:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 004ED8E0003; Mon, 9 Jan 2023 16:33:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EF7A08E0001; Mon, 9 Jan 2023 16:33:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE7468E0003; Mon, 9 Jan 2023 16:33:49 -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 D20B08E0001 for ; Mon, 9 Jan 2023 16:33:49 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 91F90A0544 for ; Mon, 9 Jan 2023 21:33:49 +0000 (UTC) X-FDA: 80336562978.29.B71BC77 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf09.hostedemail.com (Postfix) with ESMTP id F06CE140014 for ; Mon, 9 Jan 2023 21:33:47 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iI0kvQY1; spf=pass (imf09.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673300028; 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=o7gimKyLLJw9A6V//eR1L6zJuoDP3fS3F+7uvlkamiA=; b=kjvPtTWYbJiXZkqGaZ16R5SCDhuWAHZufJHe2GWHU6RS2Jd0QVb00llW6ivIDtWZYfjI75 n28+A5Y4Eb9yjGcJwtv0cl2KJGlk+bcfG+roT4X+8bbXeD3vJ+Svo2jIKjZS8bK7WICnd6 WYvk3FJWAfwK1xREiu8EZQ7VcyknBGo= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iI0kvQY1; spf=pass (imf09.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673300028; a=rsa-sha256; cv=none; b=TegoR0HGD6X3j3tcpQoe4x/qMMxjHmwB6KJuLH9pUgsTQjEV57XFHG9IevSgXJj+ZrtOwG wUQky/AafAJI8XC4qOcgiiJ0f/6h1gGlgZcyk83LcY38oCPhCdEXUGNFKncWx0N2QL/WIh lv7bjMYHnE2mmc2Dy0DSd3BoK4HZ/O0= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 150F7613FB; Mon, 9 Jan 2023 21:33:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F18BDC433F1; Mon, 9 Jan 2023 21:33:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673300026; bh=8zePhCnELAS1QJzxrjEP75j3wPseZorjwjhVisLqJLk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iI0kvQY14VYnZdX+nOXPYkE3NYQ684HNWh99BZ3HGSB44hAC1XoKXeyhI00O79K6w baT02EhqlaaajEh5EOvLemJQ/HQvCXaL6sXFaCAqhiR5TnV4vHFxqkYJsxwHwsiUbL RRxzElNee++MXz9VfFsYQ8CR47R+UgOqES3k8M4JMiDSkcE+7rSG6/r4dpWWLTprUL DXXWH5WGqOtB3POAMRJ/7HmiW0iPUezsF6QKlwQVYwZcYHaD93ZvADEpOP5D6eBoO1 rDzq6VTp6zIC3RvJ28SRNRMF5F3miHkJE18KNJl7SuBX8OaT9jC4tF4OzqsUfIcI9O vCW3K43C/4img== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/6] mm/damon/vaddr: rename 'damon_young_walk_private->page_sz' to 'folio_sz' Date: Mon, 9 Jan 2023 21:33:30 +0000 Message-Id: <20230109213335.62525-2-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230109213335.62525-1-sj@kernel.org> References: <20230109213335.62525-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: F06CE140014 X-Stat-Signature: 4d7qoe8ptm5z4sbfgzu6rhedcufdd6zm X-Rspam-User: X-HE-Tag: 1673300027-897688 X-HE-Meta: U2FsdGVkX19rkGHI9Dbu8YRl/g8zlQG4FMNsCaoKLbM4Gi1RbDpy1SWMgVDV4QrhjKxquYqMZaJNzMbRT3722mQWTw3EeSsqwhwVboGszshaWbPFBC9/qnu47BRA5vdho52VRitxEuVwFurvk7Ip6QtYT75i+ZWzJaCRO/XnmzhvafvNIlVIuCfh8NMKx5goxqAx+1K5EKS09iFHkgg/yMNOZ90yGlwF0YaqXCUo2fzgJREIAwFUXam0ibG3XXLzZnvfevVzBiGg8vTQrOuw3Q909vSUYUa9ZMqN7EwD0reWw7ZBWAsDT9/qSe8zSgBlR9LYdwn+ZREqGNg2I8nm9pKI4tF6yzwWp6ldEwi/hvftDqa1jMWSN5s3SUvAJQSfmrWZL12vU9IKX9xWAc5KLf+JNALOIbcTEM3iJez1IET1oRs8ogxSTYwDomz56NgHmLKX7sqIWEbaNq/gbVYGtHZRVlYHiTSmmfvUbthPlGxNjuigmyLvoNoZL5866pabUBhO+SiYTI2VsbOmHEUNYpHegR6UyBBCOTca36GxZk24VqdIuYbiRu2njLa3WOT2ylTHiTQRoIzlUOIZT2kyEXtT3EpBZ1BpRBHNo8F2Jmu99ry1hWQjoDvtquMjzB0lWGNtKpOtPrfBXN1dfD3qjs6Jc2bCJuxKDXeLwMDu+3k0ya2WyPn09H8DJbF4RnUgh0xn+DYC9vY+7sNOR0JZ+jxrQO6j1rJHpuRYEzFAqMapxEbBnM8rqL48On8lyo7LhP8PslqLmN8DIWXILAX92Cqi+Kq7i2N+2oZhrBN7GOASTDEF8tXC2639jChLiaII3hg3K91/6hD1XYBBhUm/hYcpvdQ7dVeSJY2Au30BtwvNzlxpT+BR5lDjLEXTr7fcm4Df7zFJeqfgLKzP5A75gg54euGM5uH33jgsu9PmFA1NQ/mTHZY5et43aV0oVVvs+VETl6jxZz5ybWebnZ8 XN0E73DH JwqMnvckTuwQZ4t+FNWdBcBM4X26Vw5C3zbRXHmPYxNABRepB0r/UUhJfY33mVyaeh1+TZ6IEPAEGBW4dV0sHEqT9sVDu+gOSlKfs3hshXDI1lABXKneOq9fAGg== 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: DAMON's virtual address space monitoring operations set is using folio now. Rename 'damon_pa_access_chk_result->page_sz' to reflect the fact. Signed-off-by: SeongJae Park --- mm/damon/vaddr.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c index 9d92c5eb3a1f..d6cb1fca1769 100644 --- a/mm/damon/vaddr.c +++ b/mm/damon/vaddr.c @@ -422,7 +422,8 @@ static void damon_va_prepare_access_checks(struct damon_ctx *ctx) } struct damon_young_walk_private { - unsigned long *page_sz; + /* size of the folio for the access checked virtual memory address */ + unsigned long *folio_sz; bool young; }; @@ -452,7 +453,7 @@ static int damon_young_pmd_entry(pmd_t *pmd, unsigned long addr, if (pmd_young(*pmd) || !folio_test_idle(folio) || mmu_notifier_test_young(walk->mm, addr)) { - *priv->page_sz = HPAGE_PMD_SIZE; + *priv->folio_sz = HPAGE_PMD_SIZE; priv->young = true; } folio_put(folio); @@ -474,7 +475,7 @@ static int damon_young_pmd_entry(pmd_t *pmd, unsigned long addr, goto out; if (pte_young(*pte) || !folio_test_idle(folio) || mmu_notifier_test_young(walk->mm, addr)) { - *priv->page_sz = PAGE_SIZE; + *priv->folio_sz = PAGE_SIZE; priv->young = true; } folio_put(folio); @@ -504,7 +505,7 @@ static int damon_young_hugetlb_entry(pte_t *pte, unsigned long hmask, if (pte_young(entry) || !folio_test_idle(folio) || mmu_notifier_test_young(walk->mm, addr)) { - *priv->page_sz = huge_page_size(h); + *priv->folio_sz = huge_page_size(h); priv->young = true; } @@ -524,10 +525,10 @@ static const struct mm_walk_ops damon_young_ops = { }; static bool damon_va_young(struct mm_struct *mm, unsigned long addr, - unsigned long *page_sz) + unsigned long *folio_sz) { struct damon_young_walk_private arg = { - .page_sz = page_sz, + .folio_sz = folio_sz, .young = false, }; @@ -547,18 +548,18 @@ static void __damon_va_check_access(struct mm_struct *mm, struct damon_region *r, bool same_target) { static unsigned long last_addr; - static unsigned long last_page_sz = PAGE_SIZE; + static unsigned long last_folio_sz = PAGE_SIZE; static bool last_accessed; /* If the region is in the last checked page, reuse the result */ - if (same_target && (ALIGN_DOWN(last_addr, last_page_sz) == - ALIGN_DOWN(r->sampling_addr, last_page_sz))) { + if (same_target && (ALIGN_DOWN(last_addr, last_folio_sz) == + ALIGN_DOWN(r->sampling_addr, last_folio_sz))) { if (last_accessed) r->nr_accesses++; return; } - last_accessed = damon_va_young(mm, r->sampling_addr, &last_page_sz); + last_accessed = damon_va_young(mm, r->sampling_addr, &last_folio_sz); if (last_accessed) r->nr_accesses++; From patchwork Mon Jan 9 21:33:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13094369 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 48B9EC54EBD for ; Mon, 9 Jan 2023 21:33:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 33B10900002; Mon, 9 Jan 2023 16:33:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2EC53900003; Mon, 9 Jan 2023 16:33:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 18BF6900002; Mon, 9 Jan 2023 16:33:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id F25DD900003 for ; Mon, 9 Jan 2023 16:33:51 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C26851A102A for ; Mon, 9 Jan 2023 21:33:51 +0000 (UTC) X-FDA: 80336563062.07.523C286 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf21.hostedemail.com (Postfix) with ESMTP id 1EEE21C0015 for ; Mon, 9 Jan 2023 21:33:49 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jRDHdTCz; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 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=1673300030; 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=MGUu9cOvc1HuAi4ImywWxr6yj31JHAQ/zFkqT9+UlA4=; b=4VmSAf6rf+CltEv+EhMUzIyppt/vx0+/2UjiJ7dKWckBV+ZuXeZNVqaMvMNFTxbXbLuTbn nDlftx7TlYVESONEM/6pAcna6rJjUL9/c97hmO7YkVEamHzT4qGHc1IxMHP5fi3Mpmb/JS NrobMgqmJA6VpS+uMvic9F2CZngOTRo= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jRDHdTCz; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673300030; a=rsa-sha256; cv=none; b=CXCgWxMCvn6+zzSeQJbjp1eDOtBQShduaqMlQOBiyOV/URw8s08K+nss9cNqaRZMd+wB/U Rv0NsClMGSgzbjpqyHxCzomP9jmwrbSHNsrGyWnMHej9bcDrLXZO3ciklIoXWeyupJHbEt Fp+HeYCtBSlrpcDeAS147tDTOfPdoOA= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3C5B2B80F9D; Mon, 9 Jan 2023 21:33:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 95EB2C43392; Mon, 9 Jan 2023 21:33:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673300026; bh=S9qpLQ77vZLkX0Fi/FnXthnFg4be2LJbk3/kO/j1qTI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jRDHdTCz4fpg4pSg+atnuiWHPSzA34OuiyN0y4hpkdydvPbEXc5zQNd2rmXYtLG3R 3qnhCqhu0s5e6yY71KGAHWgxIuU/eKP9xpeghcLzTaHoAiaNpS1AV6Ixh21DKD0orM uSzwGl7Itp0qOi0SAjUWVJgo6gllE3SdJ2Tfo53cV7OsSDL+n310BVjzmPDIcm0XMO p8wPGPwVOXBEM6ivtFSJskAo1VQNvggSIM9GNleCP4uRobOuMxdi9GBMueeRyyR1Rr BEaar4UIe6j/wPq/l0eaX6+bLZBckUQuURSfg9NUCEN8MXUiJ4raIz5tcuKTpBcfsR BUGNJ394IFnhg== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] mm/damon/vaddr: support folio of neither HPAGE_PMD_SIZE nor PAGE_SIZE Date: Mon, 9 Jan 2023 21:33:31 +0000 Message-Id: <20230109213335.62525-3-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230109213335.62525-1-sj@kernel.org> References: <20230109213335.62525-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 1EEE21C0015 X-Stat-Signature: 81131ptkfosj5ujhufeyapf3fqt588oi X-HE-Tag: 1673300029-866516 X-HE-Meta: U2FsdGVkX18TYQcgeXN2oORDis8Bc2UiadRRrVDvKWC2By4ak+zu+z40HKx3QC9zcG4/72br4bFDqRpTtLrJgnze6wgts+3bLMsb9FdcI2WTIAez03QENsNzPEqKJcvjdTskRfI+D4WHnIVz3GF1A9fU2UlhU9nZt0OffsUBeJA8Axwbd79Xi9/JfCLz2Sr8We6N79pnxq7CqPKXu0A8dW2Y23WW6IuwwgAP/1JQSiCqcTh5JmsB4OTVT8YqiX9ibBi4AMzBjQEKwdaFTFWpCbaOIwfBFeP0Kb0z6PaIf6j2mnLXB2MJKDmVaqSVXNb7ybn2y54c6vU40EVKwYi0GwFkcvP9r/aHWgvcNTSOxqf8ntBX51zQhJbPrMtI6sSTxv+NXgWcKw6jHaJ5laxVeazP2iuqOn/DksntjxbTiM/hf/3NKDM8BXhzeyicNp7QhyJzBTDgDlrW1F2zHh9f2AF3eo3j5bxJnfkSfGphcNoCTjjwDjsClrEjYr3ysWLl/sxVxygVKBwvlKsXXSyIQeiBrLAZJchmQ1mjCFwtvxqDQiRvtqTS7CXVFDrfMUhK4SbbOx5owK2jHzi3F9Ra3gwZHHY6tVDC9VT6+Ea3zFCOIFVs+9ZZ0wsvqGYzcYPY/DcImYoxOtGjLk08seYG9Ijlwx1rmg0Gss1tEvTEMXM0Yab28MlAS1Vkwox40xCYbFlCJGqOKTeY3e74T/KMLVzssPoanxrGYUQc9Kxs3l7o8Gf0pJAXI8D1ktIvB7DpEjHxs1ea9l2c6Sc0SEmpm4RvafLD5NtZeq9FuZAB74KJ3yoreRrxum/grOJ6abEJwmh/wlsAyBFyV3JO6VncUkOGH1mtlRAdPwKh6yB3TEOkU65wSHILSxRv+cBqZLwPgq6E3A2cec42c3xroxUP47rFb47+CrxeZ/auOyimp4BKi9YQZg8GQJYlv1zuwXd2xSkjm4KegBVKhjp67ww Ugw7SQu3 ZY4jxgF84emqAW7lmJy1oDvhiu2f+bznfhWc9/D7kHp/QRcQvaHwkzfWwWQcL2YzOsPPSMPSMhXHDTTFM64d7Kt6g3I7AtMaxKJaN8KLsg7dA0WsPXhTpa9OZpQ== 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: DAMON virtual address space monitoring operations set treats folios having non-HPAGE_PMD_SIZE size as having PAGE_SIZE size. Use the exact size of the folio. Signed-off-by: SeongJae Park --- mm/damon/vaddr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c index d6cb1fca1769..c7b192006fe6 100644 --- a/mm/damon/vaddr.c +++ b/mm/damon/vaddr.c @@ -475,7 +475,7 @@ static int damon_young_pmd_entry(pmd_t *pmd, unsigned long addr, goto out; if (pte_young(*pte) || !folio_test_idle(folio) || mmu_notifier_test_young(walk->mm, addr)) { - *priv->folio_sz = PAGE_SIZE; + *priv->folio_sz = folio_size(folio); priv->young = true; } folio_put(folio); From patchwork Mon Jan 9 21:33:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13094367 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 C3130C5479D for ; Mon, 9 Jan 2023 21:33:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2EC2C8E0006; Mon, 9 Jan 2023 16:33:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 29C078E0001; Mon, 9 Jan 2023 16:33:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0EF648E0006; Mon, 9 Jan 2023 16:33:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 040B08E0001 for ; Mon, 9 Jan 2023 16:33:51 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CC27A140EB4 for ; Mon, 9 Jan 2023 21:33:50 +0000 (UTC) X-FDA: 80336563020.18.082A86C Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf23.hostedemail.com (Postfix) with ESMTP id 56981140009 for ; Mon, 9 Jan 2023 21:33:49 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=fd3GB+4W; spf=pass (imf23.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673300029; 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=//qlcWifAoXDaS+oMk7paqPQ3a5SATg+IvT3pkm/jOs=; b=e5u8kO5J6MULRXyPrZMScbFaKf0jejy+btDfU8kZ6fdX9m1Ko5F35z2hMiIAmoE6RevJLp jYNQJQAtAjVJvJ9nuGjGaJmO/YBIckE5XR0sWUJWoN9VGUrJhcF4tJhNYjDK+XYqDOa0vB FILmKFFOXZJbcmjKtk5AzQt4S0fWV+U= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=fd3GB+4W; spf=pass (imf23.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673300029; a=rsa-sha256; cv=none; b=clQGWv3Ud1ej3ZmWUtTmrJKwjIoywq+zC+lUIhDMznLfiar2RVzCb9tdFkBw6EhrWf3Vp1 yQWoa2NMPls8aXVfNHGUMC3+p88dybtLBsGyMOBGYf3U5Xc1eKoev6rMDBqwEM/kcPIRWt SCoZfjSZYR2DJ0YcIIqFB0hVwDyAq3U= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4CD526141C; Mon, 9 Jan 2023 21:33:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2B924C433F0; Mon, 9 Jan 2023 21:33:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673300027; bh=2JLtN8tos+I5Ax4pubeTviifV4tMrNZA936nz1vxxcQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fd3GB+4WIT0xNztbpTNCwyNhCDV1rv7z8xAvq8Nxtl4ZCZTIvE8E4qoOJzAuF0qd/ nIxdhKCEKTchIOd2lY5DKaGN1EQ2wSTEJ06oObeHGBiYuXf6fLkGhJMvJSkZFf1kW7 bZikE7oMHL1fDZ3JidDlVkhMdB74EQ6VYGwvUxzaf6y0k1s+VxA4Nh40zWa/Oyx1ge hu7GJpQg5axP/a+/wogIcX0QmJqqRY06JBBZGPDszg/dSU8/V2wLG1VaU9PaWOwra7 NCsnLXECcDn2l7pAQ8RjpT/y0DEKzI5Sy9zMRvtfOpqm+BHHDySbyTDUHvsaNj77LC 6vtqs4qizzHYQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/6] mm/damon/vaddr: record appropriate folio size when the access is not found Date: Mon, 9 Jan 2023 21:33:32 +0000 Message-Id: <20230109213335.62525-4-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230109213335.62525-1-sj@kernel.org> References: <20230109213335.62525-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 56981140009 X-Rspam-User: X-Stat-Signature: 3jpxnhau8ze59qp19z7s1oxt4gkfun87 X-HE-Tag: 1673300029-155586 X-HE-Meta: U2FsdGVkX19qYzwROIMZuaK5hq0c5C3jLF5MPNmQWzhDVt1YGxxFNZqlIGUt535Q8AZzCV/5sm2nZPS+C6qTeQHVcS3oPgYAvhMF+HfvahwSe49/WDTBKLv4dOCNJbbjFO7w2UU2vqalD9Npt8zLGRvxRzPaHzUB/F3yxcFve5wVGRx3KjtrOpt7beKrRT3uQdihqwF/jDUIXqGskxj2hzThDOH/Vs//GeZwKivgbdCOguhAqRxhYTABcO/9UjLgjED+EKQiuDCBOE9tuzngJCFUDJJnuj36SLtuV1bBX57zBfvRuu2HA4NzKwl6+SP7i6zu2X1C1oR7rKxmOWPQDc10SGw1fqA8zSuiTGEDPvKnH0Z/yWiMrbsb7BSNzl3fIXgN9NCeVT6NxedDOMMYTrJF/0Nslrf/0zKZ1XkZTP1PbonAsHUQ4EIyikl9bHOe5VwkpLRGM8vsq6zqI7+B6lAoTVg+KX8zSEQgiJMFBkMEMcruOt+ghFoqxJDbwqOBvEkR2Vm/LypdCsPYlQ0j4ukPLoueDWyAsF85beu6clskNAY+n38tfbtiJB3yN1YHqaxlwBzeTx7uhXEVm7MsIqKpE1qw9igVn7P/V102IJi5KhikdMQrGF0E0vmxAInjuCZh3yez1eOCLa1+7w4xHZWwfZwAXhmwgMunYO9GbVy3IiuJmljfhTvS+KNgKUZaaALN9Svfr9n5PBMZFxEPjn/51Ym6j256rKqClWUXtq64xOsAHnITCXT5lUgORr6Dtpyi3f1ya2UIVBS64EX2hcfsVKl46vCNgdItwKzUkX4iwoLQv9cnOKolGhXNAs9jCiQA7Gt34uV7lE/4V7MdayqElhI4n+ONRHfSPmbLH7/v5lzGWfUad6kmsQXcXYX6hsym6Be+xDNHKgHla1Q8u2Y2+c+QAS1o2E9IsynQ9WMgSvIRMZ3RHUpV7eeysL0X3Lfs7rEjEo/q07tVQdQ 8NZ//Uri mcLHpd9N5wHoKIudgBYITRKLMkWlb1FpHnRz4vBq/JhWNmqIgzK3ivUEaNun9oa5VX1NJ 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: DAMON virtual address spaces monitoring operations set doesn't set folio size of the access checked address if access is not found. It could result in unnecessary and inefficient repeated check. Appropriately set the size regardless of access check result. Signed-off-by: SeongJae Park --- mm/damon/vaddr.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c index c7b192006fe6..1fec16d7263e 100644 --- a/mm/damon/vaddr.c +++ b/mm/damon/vaddr.c @@ -452,10 +452,9 @@ static int damon_young_pmd_entry(pmd_t *pmd, unsigned long addr, goto huge_out; if (pmd_young(*pmd) || !folio_test_idle(folio) || mmu_notifier_test_young(walk->mm, - addr)) { - *priv->folio_sz = HPAGE_PMD_SIZE; + addr)) priv->young = true; - } + *priv->folio_sz = HPAGE_PMD_SIZE; folio_put(folio); huge_out: spin_unlock(ptl); @@ -474,10 +473,9 @@ static int damon_young_pmd_entry(pmd_t *pmd, unsigned long addr, if (!folio) goto out; if (pte_young(*pte) || !folio_test_idle(folio) || - mmu_notifier_test_young(walk->mm, addr)) { - *priv->folio_sz = folio_size(folio); + mmu_notifier_test_young(walk->mm, addr)) priv->young = true; - } + *priv->folio_sz = folio_size(folio); folio_put(folio); out: pte_unmap_unlock(pte, ptl); @@ -504,10 +502,9 @@ static int damon_young_hugetlb_entry(pte_t *pte, unsigned long hmask, folio_get(folio); if (pte_young(entry) || !folio_test_idle(folio) || - mmu_notifier_test_young(walk->mm, addr)) { - *priv->folio_sz = huge_page_size(h); + mmu_notifier_test_young(walk->mm, addr)) priv->young = true; - } + *priv->folio_sz = huge_page_size(h); folio_put(folio); From patchwork Mon Jan 9 21:33:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13094368 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 CCD4FC54EBE for ; Mon, 9 Jan 2023 21:33:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E36BD8E0001; Mon, 9 Jan 2023 16:33:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DC084900002; Mon, 9 Jan 2023 16:33:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BEBE18E0008; Mon, 9 Jan 2023 16:33:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A877F8E0001 for ; Mon, 9 Jan 2023 16:33:51 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 820CE41020 for ; Mon, 9 Jan 2023 21:33:51 +0000 (UTC) X-FDA: 80336563062.08.AA2E7B6 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf18.hostedemail.com (Postfix) with ESMTP id F2B741C000A for ; Mon, 9 Jan 2023 21:33:49 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=CkayMLf4; spf=pass (imf18.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673300030; 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=N0iiOREKjAiI6kLAk02vCa4VECye4nwxU8RPiP9HoGQ=; b=8HaGdXo9tPw32HCcPN8+ro0Dbgx9F0urHr7civuzoBnZ4o6iJnFg+7LwtRI6E3DJ7DwTSM OCrc1eSGIkYzwBPK7wMFhXbteMnqAjvcYkda5TCkrLawD8C/qlMPCR9AjjP1S54DBVa9y8 SzD9v9y1kceM3sy+jrhTaTZW6uzTSF4= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=CkayMLf4; spf=pass (imf18.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673300030; a=rsa-sha256; cv=none; b=l1YkEyAULKhu4XCPtYNRpXNutx1EknxvGWG+VoEvbhi+X9l1TpHn3Cluus7VeOzVN/2drP 4iA9PFhXUO26B7lh4B6gYpJFCpDAhyzE8/txy7C7fb9EWXh7d7EDQ9CFthegDyCyUOpWhw oYIrRBmpUKf9K3YQl+VDE9/cTmcpzL8= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0F82561448; Mon, 9 Jan 2023 21:33:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C3813C433F2; Mon, 9 Jan 2023 21:33:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673300028; bh=CFEeibNvvYAHsooB/GZxZzGLeG1gUo5uWWp85VJYZOI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CkayMLf4IhwPE5yfzgDGZfwtnsgWnvEkfeAXD5O25NOF846s/PGNbZIBST+o9XJfu YTzFb7YVkNVDpiaxedFNYwJ5bGBdaSZlzL0dJifZseNQaZ9fVWqVQmyDdHhV+vKXja HASc/1EM1sgLdlweKLpxJWF0NKPshrKc8IjLEngSJK+LCP2VWTSJxuduVYw99ul/ij NzCuJU0/oB5GhgMqwXkr0/VEu2XMLuavwrhnAr0bYcTbsg9oa3xyQuy7Jd7rGl+BIG b/Aw174M8zeE6Hi9q4YH1GA+PwK7bX+GynKfII38j5rrg51mvQfOX0XcBjXRTshqIX 7XmdlB/xwMVHg== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/6] mm/damon/paddr: rename 'damon_pa_access_chk_result->page_sz' to 'folio_sz' Date: Mon, 9 Jan 2023 21:33:33 +0000 Message-Id: <20230109213335.62525-5-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230109213335.62525-1-sj@kernel.org> References: <20230109213335.62525-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: F2B741C000A X-Rspam-User: X-Stat-Signature: 35jg48xrwib9tk3uf3894r3ekb8ez9dw X-HE-Tag: 1673300029-539408 X-HE-Meta: U2FsdGVkX189EQfJwZHXSaMFFhNoExlQ0hR9ebUJIA/yXXMEDoxy0uNAIj6ymgbJ0PLNw3QxomANrbjKjXbWBzco8WA+elsQt3hmzQ2KwRdBpm8yFA1l6M6Tv6e8d+Dz6bPBpg7nG5seN55y3FfW6aAaBOfLCQfClLg6qHe/f48uDhF7IUoYw9tlXUOpTA8E653FCosN8uQ1kD97b8Se00hpc6nWuxg/VsNKlq+XKWebGWFxZOOxN0B8SFzPAy/FiCLvspgiFQh7+Ymzf+TYd4pxhY/U3tUt17r1Dm5EPunQXQqXiqpvc+bAIb3O8KGYyomv6KYW9i+YM0TMo/3xnvxL3QLMoiqAnXkcFT/G05/zoQ+AKEUrvqbI5zDXqVjho45TjVUwzUCBmSLFuV/KZf6iHQq+3i96MEfwKTBhNhntebB2dTJCrpWAjwSEqId8H7xxOU4bKpWso3kKtXLP59zOA0q6pA0NHD5aFwXqZUOysv4LOBUbiRE4jj1x0OTWZv3Lypyk70tG6LjEgqeHvBui8u1U4/2/Bd6qmoD3N/+wpldw5k1EFURql32CXuRg5itocvUQuduF7COGmQOW7y1opS0tT4Dpzmt2wRvoENv/jwvHgFWlvJxtft+EiVXzOLBw002zBefqQ3rQlexAOZT285ujzvhgPT8tIud2wY584SABvYf2kxGpzuaJ8snRtG6R+SiBuPoCKByf/vq+UnP1fBNWXkG9vkbEcF7biCT7nD6VeGz+r1AV91zgrMV+SNUDrDBdVrJtvNCie8Rz1BLJm9I07Gd6CRD+Lz1F1qB4mmZZQHTXfe+qVeSiLgmVEKK/S37QJYIBw4pGg6sv0LAwOGSN8fZKV5Mhn5gaLV3E3oea9X5Pv/xwEBPwmAGOWYoTZEmV4UMMMU+0atok2fRY947Trdqu1XCgGlCueziw5xR8GsZWJfc409tiX6W7tT0631gdBGmWMBpGgl7 0ai+MRz8 DJC6Lub5eJ/luxGMlywPkAPHTqBOaaVb67USqNLP/ijTwhy+c0YnL4Il1gLkRZ4lNq77YJdjlG1ZcO+Bd856TwLYT/Z3SYvzGTvsstr8rv6a/voFrn09bwPrM7g== 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: DAMON's physical address space monitoring operations set is using folio now. Rename 'damon_pa_access_chk_result->page_sz' to reflect the fact. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 99d4c357ef2b..65c1e0f91535 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -80,7 +80,8 @@ static void damon_pa_prepare_access_checks(struct damon_ctx *ctx) } struct damon_pa_access_chk_result { - unsigned long page_sz; + /* size of the folio for the access checked physical memory address */ + unsigned long folio_sz; bool accessed; }; @@ -91,7 +92,7 @@ static bool __damon_pa_young(struct folio *folio, struct vm_area_struct *vma, DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); result->accessed = false; - result->page_sz = PAGE_SIZE; + result->folio_sz = PAGE_SIZE; while (page_vma_mapped_walk(&pvmw)) { addr = pvmw.address; if (pvmw.pte) { @@ -103,7 +104,7 @@ static bool __damon_pa_young(struct folio *folio, struct vm_area_struct *vma, result->accessed = pmd_young(*pvmw.pmd) || !folio_test_idle(folio) || mmu_notifier_test_young(vma->vm_mm, addr); - result->page_sz = HPAGE_PMD_SIZE; + result->folio_sz = HPAGE_PMD_SIZE; #else WARN_ON_ONCE(1); #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ @@ -118,11 +119,11 @@ static bool __damon_pa_young(struct folio *folio, struct vm_area_struct *vma, return !result->accessed; } -static bool damon_pa_young(unsigned long paddr, unsigned long *page_sz) +static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) { struct folio *folio = damon_get_folio(PHYS_PFN(paddr)); struct damon_pa_access_chk_result result = { - .page_sz = PAGE_SIZE, + .folio_sz = PAGE_SIZE, .accessed = false, }; struct rmap_walk_control rwc = { @@ -157,25 +158,25 @@ static bool damon_pa_young(unsigned long paddr, unsigned long *page_sz) folio_put(folio); out: - *page_sz = result.page_sz; + *folio_sz = result.folio_sz; return result.accessed; } static void __damon_pa_check_access(struct damon_region *r) { static unsigned long last_addr; - static unsigned long last_page_sz = PAGE_SIZE; + static unsigned long last_folio_sz = PAGE_SIZE; static bool last_accessed; /* If the region is in the last checked page, reuse the result */ - if (ALIGN_DOWN(last_addr, last_page_sz) == - ALIGN_DOWN(r->sampling_addr, last_page_sz)) { + if (ALIGN_DOWN(last_addr, last_folio_sz) == + ALIGN_DOWN(r->sampling_addr, last_folio_sz)) { if (last_accessed) r->nr_accesses++; return; } - last_accessed = damon_pa_young(r->sampling_addr, &last_page_sz); + last_accessed = damon_pa_young(r->sampling_addr, &last_folio_sz); if (last_accessed) r->nr_accesses++; From patchwork Mon Jan 9 21:33:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13094372 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 C3F02C5479D for ; Mon, 9 Jan 2023 21:33:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3B7B900006; Mon, 9 Jan 2023 16:33:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BEB8B900004; Mon, 9 Jan 2023 16:33:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8B3D900006; Mon, 9 Jan 2023 16:33:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 976F3900004 for ; Mon, 9 Jan 2023 16:33:54 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3F327AB4E5 for ; Mon, 9 Jan 2023 21:33:51 +0000 (UTC) X-FDA: 80336563062.11.FBC1A63 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf30.hostedemail.com (Postfix) with ESMTP id C06DD8000F for ; Mon, 9 Jan 2023 21:33:49 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Q25whl2K; spf=pass (imf30.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673300029; 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=Gp9jxI98TdehfVr+BQlKXHYvyV+gppw6/OlU3NW3LPk=; b=TFYcmEcfoouWuwCc04ehzqLhhoKQr31Ils7eM3t7/jBnrkDEyo+T1qzzhWkagIeMkpNKwq Hp9Xz6qwBPWoUG0MROp8tD0C8+MDQUA0lmpcOU9P4lT+3rtBPc10qcS57TXNzBhBvFUKbj v76cd6clbHYw7irApaik30tVaEOpTj0= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Q25whl2K; spf=pass (imf30.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673300029; a=rsa-sha256; cv=none; b=fNMbVK6OyygG2BCHQEOMbkcmlfFhAp5blf4BtgNp3BOMjuSWtGXohBzOkwpfrEYofHY7Er q/zdKn43tctWyFAqhfJflIml7l1upOaUZVoD5dFiVe8zryOLqCujKQkw+Jx4x2hq04cdEH PYaqD9VJjuhZ8xMtDrff6kRaDWyllWo= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id F0B5061359; Mon, 9 Jan 2023 21:33:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 673A3C433D2; Mon, 9 Jan 2023 21:33:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673300028; bh=SYYr0BTjmOo642m5NR3wSprE6Rj/MW96ULPD1Kbq3N4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q25whl2K6ubCd0mSRCAhV2abNV6arYJzypS9C6dgW1BHriuFbw8yu2UNtObHkGoo5 gFh4wNew0WdzD5BDISr8G2JEaOWrmiWYJgLs/1Aqt8Nz50eVSW7uGSGy/N+9aXgEi4 6zW0OwgSDQ7zGALkkf3vCQx5muQaAmlvxH4ry1T+cYP8sS7SXLaxvgSoXehUok9YU0 UQsVBtCxtIJUszstXt735cqzC5YQJtPCO95WNtN0kf2zXGXXExj0kBoBkwAYFQPXDs AjPDe8OGaczVaic7Pcma+e9e/jShrhySjFSw1EUGzgUl5hJ7PZczmNBCXnoEIgfmFe 2+MH0CMWBrBUQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/6] mm/damon/paddr: remove folio_sz field from damon_pa_access_chk_result Date: Mon, 9 Jan 2023 21:33:34 +0000 Message-Id: <20230109213335.62525-6-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230109213335.62525-1-sj@kernel.org> References: <20230109213335.62525-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: C06DD8000F X-Rspam-User: X-Stat-Signature: 9ban7me89cdeqtg7x6dkeyoghrwaexth X-HE-Tag: 1673300029-414535 X-HE-Meta: U2FsdGVkX19O+P7K9CWSXinSwM0revicpfl2mmJGOXyESNXBkLiyqTcoCd5M8O+bk7+0PEaqjIM3gicvq1CM39j7ntrGBw1fiSnW7xtQTU4aoyp4EE37DDTujbbXo4GVXV9gA/UUXIdmDTl+nBoBiMJaMtWPb8zOmWH3E9ctRQeaXuKB8cnKI3jTorEJFam44ac6nY0kJslzNRMI54XEGH91eHNWOcpcJhDKEhp9gKzBKpVQacALt0JQEH4MvlOW+e1B3I+vRAXKouvmn6ubeTVh2XZl3OXtlGADGswXtxCI5HP8cseOa7nAFNVw/qZrqALe4r2GdEt5yGhq5VX0iaY1Xktkb0esas6cCCF7xnUUROh+pbE5HnSTua4pON0Lb1Uh7pxX0jnac/hWuvHPQqy+mfXIBJ6O7vLwtezLoGQIcHD/bE9tuaPSliXwhjknbhZKUOBjiqhQ+XQUlxE2WcZ5nzr52sW+X9riD/e0CZOuo1iRIRcg30v9rDikEWbX1ygww6ivQLMe8rsrERtmOQBau8FVg+YNaYfOtkON1xJ6lNXEX5XnCk5Sv5jN8uz+JTDdm4WXvfqG2R3iPB1J9To1CHWVk9emhlET4Iz6yJWjrbgDri0ByMN9EzzFbY9E73nR8Gs2svh4m1OvPkvEhWlI52A+TVC1CTvzaPNbp4mDqzgMMawOJNdLj1h4mu/DN6lScLBeF70OfTWVAWaG5ZCskUMLaf8yL70YcN2lrqWfpwV5L+vqCPN4oak58nTZ+MuhBjJ51Z0wQPT0QQxTQqlNJ2tJ3U/YwcyAZbRhwgKAM1RJb9aBR7b7rBDjNY8GSE4o3zsy6z7n4vMUCo0JeqfzOTAh6SwNnCZwkaT+qLB3+xFV5mxMd8kPacVm2HqO6mhHHtedIuF/ncbVGVOiP7apP969XpIfUst97Gw6sFqFwgjqXPaDkhEONaXAPjhD8E4Dvrn16f5m0wMle7M M/S4B/iL TDODB7giTaczpu1dIfL1VrrQL3/S5JDJX6HN0TAyDFMxrInhmRTxxQy4Q63LXnpxqmyPJtQIuHG0/HkMwXFWbWYQSzwKcBiYN2T92EnJyV39fg9W/JA2IPstWDA== 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: DAMON physical address space monitoring operations set gets and saves size of the folio for a given physical address inside rmap walks, but it can be directly caluclated outside of the walks. Remove the 'folio_sz' field from 'damon_pa_access_chk_result struct' and calculate the size directly from outside of the walks. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 65c1e0f91535..b51606519bbd 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -80,8 +80,6 @@ static void damon_pa_prepare_access_checks(struct damon_ctx *ctx) } struct damon_pa_access_chk_result { - /* size of the folio for the access checked physical memory address */ - unsigned long folio_sz; bool accessed; }; @@ -92,7 +90,6 @@ static bool __damon_pa_young(struct folio *folio, struct vm_area_struct *vma, DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); result->accessed = false; - result->folio_sz = PAGE_SIZE; while (page_vma_mapped_walk(&pvmw)) { addr = pvmw.address; if (pvmw.pte) { @@ -104,7 +101,6 @@ static bool __damon_pa_young(struct folio *folio, struct vm_area_struct *vma, result->accessed = pmd_young(*pvmw.pmd) || !folio_test_idle(folio) || mmu_notifier_test_young(vma->vm_mm, addr); - result->folio_sz = HPAGE_PMD_SIZE; #else WARN_ON_ONCE(1); #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ @@ -123,7 +119,6 @@ static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) { struct folio *folio = damon_get_folio(PHYS_PFN(paddr)); struct damon_pa_access_chk_result result = { - .folio_sz = PAGE_SIZE, .accessed = false, }; struct rmap_walk_control rwc = { @@ -158,7 +153,7 @@ static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) folio_put(folio); out: - *folio_sz = result.folio_sz; + *folio_sz = folio_size(folio); return result.accessed; } From patchwork Mon Jan 9 21:33:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13094370 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 86856C67871 for ; Mon, 9 Jan 2023 21:33:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 75AE9900003; Mon, 9 Jan 2023 16:33:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 730F6900004; Mon, 9 Jan 2023 16:33:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D025900003; Mon, 9 Jan 2023 16:33:52 -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 40DDF900004 for ; Mon, 9 Jan 2023 16:33:52 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 2395CA0544 for ; Mon, 9 Jan 2023 21:33:52 +0000 (UTC) X-FDA: 80336563104.04.2912ED5 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf22.hostedemail.com (Postfix) with ESMTP id 80D58C0016 for ; Mon, 9 Jan 2023 21:33:50 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BAy7p9Oo; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf22.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=1673300030; 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=5UmaNQkviwl/rYu/RYe5B9vXm/PCU7e36YbIXUEXTFM=; b=CMqM3v+deDm8u/4ntD4r/8uB1fcFVoPbeznwjzDRyqF9pBofsSkzmnzKyThjDLszW8JWJe 1zAL+bIL3Iy1B3poQe/fQvLi4BR+yKyBkVrxU24woo/0qEPEOuRfCqC+AmGcm3gnlHh+hf xgTqoq35sfSRg16BcM2E4MxtXigRI20= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=BAy7p9Oo; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf22.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=1673300030; a=rsa-sha256; cv=none; b=uvnumTQNorWhWZSGIoirnaCISEJw7ZUKng5k68wSHpHWqQUd4Fo4oyi+MZD5kA77ZJofas Ong1OCMpaVM3e0oBDA3sw9YY35i+3hYmIwOT93te5e2rwcY66nirKW3kNH1x21253cBtDB CqHZ+YToRtrGCyKuz0k6oXWD6FhUZHc= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8A393613FB; Mon, 9 Jan 2023 21:33:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2A46C433EF; Mon, 9 Jan 2023 21:33:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673300029; bh=yyLlHJ6cCbnE9uJxOcQpPH/RrlJ6RvTE2YIE61/Wx0g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BAy7p9Oo4rnxI8GLrmgFxMW8bg3bc0a6rhboNr/pDoTXUJa/1WuxNkcfwiaTal5Qj cJeU1YtDugehNEgYy10tXVIP9704KyIcYqgJB1XPyih1XgdwGsY3yB1jlftCqwGFkh b1BCNiOtBjwFb+W6p7BgsdAx/mZCc5js7lQHXm714dhd8gRHbQG2IVCI8+78jzBRAO mzwvSfk9tmeqxo4dZ2KZ0aYfYzBBBs2Rem1exKOEDzeCUHJ0A5WeVud90fEjHQDPdT wDwFO+awaMRvsIHUIyMf7D6mnO+NeNg60nJs3ADcB6MYMFW9ilQdwN4vbeyLBvwOkd B/ImoIfbYK7iA== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/6] mm/damon/paddr: remove damon_pa_access_chk_result struct Date: Mon, 9 Jan 2023 21:33:35 +0000 Message-Id: <20230109213335.62525-7-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230109213335.62525-1-sj@kernel.org> References: <20230109213335.62525-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 80D58C0016 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: sdpxjt6qh1hms5frkmwziapj5hohg84q X-HE-Tag: 1673300030-658281 X-HE-Meta: U2FsdGVkX1+yvm5l4UnaHsZOw3u7Fk7eVhnpo8F4k4dHJDqoG+0DXju6nlCYS6HPZ3/82+d9ZMY8vWiRIppDHTRf7bkixMFrJBFsvQzNQMLoigFoplq+8P/RRBYMDU0Tp1d5YUP5fwIZHfijcgb2Y3LKYsxZpgCLvzSYnpWsIKCVGxudXR6Lpd8a4dfJh7EY8gK1TV2UAihYosa7PHqBCjy+WFTEijed221dRFmLvDUGvR9KAMWWlgZ/bbr9/vlIMYyk9GcPkTtG4xWPynqKRWZIE2ry74Gty4OBSPMROnKnDzIMBW+Xf5xIlHpTo/f3mqclFMHhZb3otSHKB+LqQxP7NWyv7nbun6AusJ7L7oZ1yJxG2c1Drmoy+PgOQ7nOK05YqLOE9bnVwEn0TaeLDtLndgRtuf8qWDpSTcAo8yP0dUxPBMDmT3+mnQoMNQL0F/rwZjEAmVmXaJ71WXwlvismRzT4nO3lzV3Wyr99GNCTCmkoyrrOooqbMC8una6PJbGwdXTHhoX+z+GA1JVMCbGor7VmvUBAkp/Hvrc5Loy0u6um5QrjxOpf6kxjTeg4k9goUUpYGVThhi2UT/9TdLSiU8Pau1Y4NT+zPDmSena237cF8W2sKItSaGbNLI7JDHpPkdxSOnpmkISEi1dICtuVQizGnI8ec9A/uX0nDituxFZEh1qCx0g0DvJhcNEClC3HK7MVFdzpkbMeao/mTGxGJX8prcF/wn54M4M9irMf+DWk5bTsYMJuuTHb0AfJXRz1jQjCdyGY2wZWDlI6JSrOmCVskpa0UxLaShOexvIjrEZ+SJsFYdonPUP/XUOLUrzR2vnknLulMnw9MmQFTOv8iJ8nogP8mrhZsPZHJSfRb3OiDE0/U+knniYSPBQmq0ad9uEIJH2A8tMXYJYe0DxgmaQpwasYTS0oISw8ZZJA1ngAQvHedRy6Mt5jRxUhursw3Oy6QxVflspiEqK U2cbf8eO k0ilIzCUIMGlzgc2cnuVNVs7bTUfHQO1Pk9iq/WW8lxDg7OLQSDpixQvHqC2PpyoyGhmjjcDTijed2g/GikqCoLZUpG4yllDYVcKcuCM2PqJKMu0kFjpZVq+jJg== 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: 'damon_pa_access_chk_result' struct contains only one field. Use a variable instead. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index b51606519bbd..b4df9b9bcc0a 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -79,50 +79,44 @@ static void damon_pa_prepare_access_checks(struct damon_ctx *ctx) } } -struct damon_pa_access_chk_result { - bool accessed; -}; - static bool __damon_pa_young(struct folio *folio, struct vm_area_struct *vma, unsigned long addr, void *arg) { - struct damon_pa_access_chk_result *result = arg; + bool *accessed = arg; DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, addr, 0); - result->accessed = false; + *accessed = false; while (page_vma_mapped_walk(&pvmw)) { addr = pvmw.address; if (pvmw.pte) { - result->accessed = pte_young(*pvmw.pte) || + *accessed = pte_young(*pvmw.pte) || !folio_test_idle(folio) || mmu_notifier_test_young(vma->vm_mm, addr); } else { #ifdef CONFIG_TRANSPARENT_HUGEPAGE - result->accessed = pmd_young(*pvmw.pmd) || + *accessed = pmd_young(*pvmw.pmd) || !folio_test_idle(folio) || mmu_notifier_test_young(vma->vm_mm, addr); #else WARN_ON_ONCE(1); #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ } - if (result->accessed) { + if (*accessed) { page_vma_mapped_walk_done(&pvmw); break; } } /* If accessed, stop walking */ - return !result->accessed; + return *accessed == false; } static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) { struct folio *folio = damon_get_folio(PHYS_PFN(paddr)); - struct damon_pa_access_chk_result result = { - .accessed = false, - }; + bool accessed = false; struct rmap_walk_control rwc = { - .arg = &result, + .arg = &accessed, .rmap_one = __damon_pa_young, .anon_lock = folio_lock_anon_vma_read, }; @@ -133,9 +127,9 @@ static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) if (!folio_mapped(folio) || !folio_raw_mapping(folio)) { if (folio_test_idle(folio)) - result.accessed = false; + accessed = false; else - result.accessed = true; + accessed = true; folio_put(folio); goto out; } @@ -154,7 +148,7 @@ static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) out: *folio_sz = folio_size(folio); - return result.accessed; + return accessed; } static void __damon_pa_check_access(struct damon_region *r)