From patchwork Wed Apr 16 04:25:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053145 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 BF510C369B1 for ; Wed, 16 Apr 2025 04:26:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0DD836B0246; Wed, 16 Apr 2025 00:25:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 08CEA6B0249; Wed, 16 Apr 2025 00:25:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E47D56B024A; Wed, 16 Apr 2025 00:25:58 -0400 (EDT) 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 C480B6B0246 for ; Wed, 16 Apr 2025 00:25:58 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 102F01A1717 for ; Wed, 16 Apr 2025 04:26:00 +0000 (UTC) X-FDA: 83338619280.24.59E2B04 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf05.hostedemail.com (Postfix) with ESMTP id 79327100005 for ; Wed, 16 Apr 2025 04:25:58 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=XBlHAFNH; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744777558; a=rsa-sha256; cv=none; b=E5KX3WLM893sGbgwi3XKIrMUdloxSndhOGeLKyP/bIi3b7J/1frqWkN1nhuYmZ+iqONdUK U4fOn72asAQ4bQcfGBj771ZggeP3QfDEuHQaWpcjy3wEXNEMYgu3pBL3Bov1PvmBCpKxUp 2OtmFetFyrB3hOZennCE58XkrWkB44A= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=XBlHAFNH; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf05.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 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=1744777558; 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=5YbQUb2lMkw7T4CadSeYWDgv8+OKVkXE5/j1XWP/lEc=; b=b+bq7VtpN8OQXb2bJWg/9pJbwBaaPV78PeMJkstvwIogRWdd90P6jhCofKUyMs5mGIyW3s ohBKaiqWuN/BFyeKJGR5YldttyVZOBSGO7xC6msoJ9EXOfZNZ7k7sXM2HXSYUbg2/7aeCW hXK2liNNPfgZPjvA7Y70ME4YrXdWAlg= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 67D06A4A8A2; Wed, 16 Apr 2025 04:20:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48A36C4CEE2; Wed, 16 Apr 2025 04:25:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777557; bh=DI/+42QRjozKh0I6c9tmubfnqOkscfgHWXe6sW2fWEg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XBlHAFNHA6AGteX/C6iyezt/7ympaayomg+4W7k6xu8PVng3whKJjnmjWkRAv6yqw 19Q0cOeyHNS4LQ4tZ6/n3KEgNeLQ9G294OWrSzuuVnDpbbsVpF1E/cnKjzpIqqBfqY e+n3SOMpopHHFoM//vBjmRCMuzmAAzTLNeWtG0i3fGgR8yX1Weg5I3FfZnf5xTkz5M QEpr4O6EuogBonhDDz4ZPq+8Xm4fCzfHeGwSE52rYR+FN6G9+fOckZ0DdLeIl7gj79 0nS3ZCn5xZcMuTYiNoLGmurHxP/97Te70wBA9lQUQzFqUiTS7zFtS/Zevj56xnXG7+ J21l1/ydYuQ2w== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 01/10] mm/damon/core: add damon_ctx->addr_unit Date: Tue, 15 Apr 2025 21:25:42 -0700 Message-Id: <20250416042551.158131-2-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 79327100005 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: 8hx7z198n636wgueiorafp6czcq1wsi3 X-HE-Tag: 1744777558-790400 X-HE-Meta: U2FsdGVkX1+5v11uiTYVPtaChzyYebHSr2IMaEEj+f5o9iXvsDbyYDz0PPByo9ueXpow9P0GV75WGsZGznXTrR4zQY/BC/dGim1B5KGzV76nwb6lrTOcV2808uaNAHP8j4oPpIN/5CR5LsF+gOQYAbIp4UbS7D50W4wLmy2HaFzRSMZGpgSqFOG6RZVqkW51UMsnXrCaD/kGxD8z80eDRBDNwR6BilR99XCTb0vnXJvB2kKWokY0A7D9gzeRtt39GeRuVOYftE2JHEy/8i6BlKZ5i/+Kyvi+NNz124By91VlZV6pmIbuhTDfQIZfVeeUV1YxHCKbbNf1AagngZHhrzuOsPe+jf8/05ZleupGg2RxY/JZypH7MnQLTRydepIHSBL0P1yQC+VtLn9WWigfIK5Yv3ianr/LTJNKj2DzARzemvArl7ujB04gOt7ViCNX6xxHyItxwtkhDKvzrXIptVOUqjCGPQ1e5/ttP+hz74o6fyCAIrZpKUdjJ6SoIUc8c0NxfSNmMgAKvwskeJ8ADwECYE17s/a4FmPADtLMm9pzjgDGz7YKV/icGSilWdPr6R1DU64ul1zjoNei63+T/k83IJj5g83TcYdd0UqmE+WKWhEyRQ90kl+sC1/ZimGl5FGT2Izu6pX0tR6alNgi8/QIsKdFKrB0pMn3qIPkgzoFChWC2eiazxzO9Uzo/L5fwa7s4phWx9QicL79CT3Gs1cYOxh4UckZUiAW6xC6SBn56y5wX7V4MMTid+XgGityfMi+BQbpIG3J1xckc0UvrLz+9bJFQeUren2tFG/4UjMlmK3Te6EhdfrB2vVdvTmKqbS8Y6S5W78BFO6f0N3LwKiLCqRBYZjzyzwRatlz9T0+NmhzyTajqSOSzQtWdClu6pb4i+Y0arpEFzHM2YurVVs64tNAO82GkaHW9YQHqZsiAlF0NLtBj86g+ovXOJN5ar5XvWUnHk93ymgRpgk J4s4h0+u XE7dKF2ZcUphAx9Zi+fNbxtNaxe0Es/EVsvmGhnMy1P5ybBlhqnPIkJCPOh1w5y1Dib238aAYM1GAZo5SFd8dZr5r1GEhLW4UErrRHKreAe4a0e1Em000r9qZJLj2mPz2xqRhMGnGzFR9mIRqfRwlivw8GZ+HnI4CE8Ewjpa8iwdKjG8cAincyN0/Iu3arCKlgAVPzSuagKH/a2tCS6u2pd9534O0u3Mn3eo2EU8MVegg5B0b8v0/NSfWF+RLEKoeOjVUSTSNvkMx2Za7x3dz+Z5hRapM0Ywjp1NQoAue+J1NXn4= 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: In some cases, some of the real address that handled by the underlying operations set cannot be handled by DAMON since it uses only 'unsinged long' as the address type. Using DAMON for physical address space monitoring of 32 bit ARM devices with large physical address extension (LPAE) is one example[1]. Add a parameter name 'addr_unit' to core layer to help such cases. DAMON core API callers can set it as the scale factor that will be used by the operations set for translating the core layer's addresses to the real address by multiplying the parameter value to the core layer address. Support of the parameter is up to each operations set layer. The support from the physical address space operations set (paddr) will be added with following commits. [1] https://lore.kernel.org/20250408075553.959388-1-zuoze1@huawei.com Signed-off-by: SeongJae Park --- include/linux/damon.h | 2 ++ mm/damon/core.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/include/linux/damon.h b/include/linux/damon.h index ba3604cd4d60..4ea6f07f390b 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -775,6 +775,7 @@ struct damon_attrs { * Accesses to other fields must be protected by themselves. * * @ops: Set of monitoring operations for given use cases. + * @addr_unit: Scale factor for core to ops address conversion. * @callback: Set of callbacks for monitoring events notifications. * * @adaptive_targets: Head of monitoring targets (&damon_target) list. @@ -817,6 +818,7 @@ struct damon_ctx { struct mutex kdamond_lock; struct damon_operations ops; + unsigned long addr_unit; struct damon_callback callback; struct list_head adaptive_targets; diff --git a/mm/damon/core.c b/mm/damon/core.c index 587fb9a4fef8..b78217ad3c5c 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -535,6 +535,8 @@ struct damon_ctx *damon_new_ctx(void) ctx->attrs.min_nr_regions = 10; ctx->attrs.max_nr_regions = 1000; + ctx->addr_unit = 1; + INIT_LIST_HEAD(&ctx->adaptive_targets); INIT_LIST_HEAD(&ctx->schemes); @@ -1150,6 +1152,7 @@ int damon_commit_ctx(struct damon_ctx *dst, struct damon_ctx *src) if (err) return err; dst->ops = src->ops; + dst->addr_unit = src->addr_unit ? : 1; return 0; } From patchwork Wed Apr 16 04:25:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053147 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 BD15CC369B1 for ; Wed, 16 Apr 2025 04:26:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 08BB16B024B; Wed, 16 Apr 2025 00:26:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F181A6B024E; Wed, 16 Apr 2025 00:26:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B19C36B024C; Wed, 16 Apr 2025 00:26:00 -0400 (EDT) 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 808096B0249 for ; Wed, 16 Apr 2025 00:26:00 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D84E9161D0F for ; Wed, 16 Apr 2025 04:26:01 +0000 (UTC) X-FDA: 83338619322.12.DE94B3D Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf12.hostedemail.com (Postfix) with ESMTP id 22C0D40005 for ; Wed, 16 Apr 2025 04:25:59 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=n847wnN4; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of sj@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744777560; a=rsa-sha256; cv=none; b=m8B64t7s3vGhdkSTw0TGKnoc5j9bMogmCVZ8ja0YfalC+wQCOPpT3IzX+SDhKmKX10RfXF zOZCOljt+ywvL1q7s0FyAioPnWOKpfPX31arSQzdoqb0zO2i94fPDPSA5GgaHrLAdg17bg vW/nD2m55jR/x8PgGOxVNzp8WBA/vDE= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=n847wnN4; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of sj@kernel.org designates 172.234.252.31 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=1744777560; 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=ti6Bm8niDHRhJ6XCyTQEtWZVZ/AxvaUSYzRizwwA4DU=; b=OHTcg4RicNadDy985PfnIuzH3JL89UohOC8fHWydEXavrG8sfN7YOr2KspE+wMxtgMZq2z THoGPsYLqmC7L4jIJCK5cEZtlmA4MO6+9Qal1YlN3tUFtqqPKdiZ3LLtrREZEehUHDYS+P kVUgeaR6gCb4XcQ/JHy0sgfo5d13O3A= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id A8E2B4A090; Wed, 16 Apr 2025 04:25:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7051EC4CEED; Wed, 16 Apr 2025 04:25:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777558; bh=GTiO6/BXPbz9EroOm99u95+iwY8aI3Ihnu6Y7KgKfdQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n847wnN4J7wouK/OJGntuS3+CHz5ypT4BG3pfvdVdvDfKO/742UJG+PY376cto4hF 7z2RfOtp7sDpCyIMLeZlhB9RtsmMV/1G3vLefr8hH1/uRMzpOunNf69uVGvQhlyI+4 KjsnLP3kYlwp3k/58CtD1PD5YXun3S+i+PpIRd1KAFd/7T0jDMWrRLaZLSF9P4oGem F8LI94C5b0ykntvzkKdx3mMdiPW4Nns+sxg3kjqZgfd1deTfqJrs9XrMJwKG0fTtwL nqePUJh1VqrE1H01WrZm40yJ5gzuY+1ic+tAuznRqcs3CiZ/YGIDPbcuMAJUwM8dsP Y3e9mf4gI/MrQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 02/10] mm/damon/paddr: support addr_unit for access monitoring Date: Tue, 15 Apr 2025 21:25:43 -0700 Message-Id: <20250416042551.158131-3-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 22C0D40005 X-Rspamd-Server: rspam04 X-Stat-Signature: gzsjf5dt1hwchn5nzcm94i959rja5h5r X-HE-Tag: 1744777559-174622 X-HE-Meta: U2FsdGVkX1+Kb0YH+GfZHabqUM/wngmsjboY5TtaADaZ+dW3ap32PrqYLw9Vgx3Fd9+uvbl5q60INB9WdaE6QcE/KCS09Bsvnih7W4ArFktRyMZ9FD5exgDu7C8YuaFcm8EwL51XawWOuTQd9+r9vo2U/plxDRGmIIQ12G2Jjzgc+AgBCI/2Kjs5jHp0g2OpqLBk7a8jxUdlu7a1TX1HY5y0WfxQJ+qaggaAzbAK6oJG9+M761PsJP3YsNxns/sElqVaaGoib2NIh5NqSYDnrYNvj3t6ox5bdXAjGLepBnqfqRAHe94MK4UP1akLLllaAoeMPSGZH0MsIRfz3lFEUyFRvfMCaV1btvreYm9OGv475k28Qw2K8CYbb3bdl3NHrqHnfkVo0C+bvqOr/q0bnbItM5/Iu32j72Bk/zFHBBTylOAPjw52RAtbqRSppbVhhyvJBwoUWlZ58mofXd6a2Wjn8o5DD3TCOjQr9jvJ6S0ML5XwDXZLlJZaobBKcanx3l4N5ghV7xHH018JJoErpM5+MSpm/fjRr3BC3dPt9NjMBo7lenQ6pNuGgKH2+mECGmSK2glzp/2GpmkZfOgLw3wPkd0QCR1rMF/viDaSdmrP40zTo/rbux9O4K6ZBSEFVJqda5l0TWkhxp9Uup346TQGtcIv/RSvQpTWRo7KSALRrXPWXxq2m7j7mqwOWjBuGsGydj4HezfOcusEn5wOogMW3PpfQKF3A7VYj5h6Mjlj3nfQ3fj0iulXQEPJN9TXbesGZZTkHHS9lXJs/NyuCSf/zCXkSy+FGyUSb7RuqrGglv3TPuzEUZnrRvC+Jqtks4JrGvBUVLyEnV2VF13jDsAY4a0MRQY61MooMocP9Mu9yMhHt4hB1+GJ3Zn2Fuzkb+YzkxphowFhTh3uelaeRZk20gEGn3crtroNetpUH8jIaHPG+2e9FJkDCB2qz8F7eyxC7X/xh976WTegUrP j1S1evWf TTuQSq7A+G3dcaXycQ3F5dR1uW2M4yIQM/EKIKFBX68ujgtXGE/X+QcIMIIhCtqD8wmdi/hLbP8TKZbZYk8PIvKi281fsCrbLHeKKvFTYAVvS1l5UrvWuurI1bHPVJSc7pK0KCbM1Ptn46w3OE6QGYkQgaSxj8nHUya5CcbnT0EmvjQzb5x2fxXbf0kzeuTXCiqZznODV7FiSIVSsB7zaWlrKa+D7og5PJeNjBHZpQg2s3nt0mRGX3wcHUWCI8vlnETXMCdKcJ/JSruxmaL5xxZMx+Q== 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: Add support of addr_unit paramer for access monitoing operations of paddr. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index b207c79ab9de..bc188aa2f01b 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -58,7 +58,13 @@ static void damon_folio_mkold(struct folio *folio) } -static void damon_pa_mkold(unsigned long paddr) +static phys_addr_t damon_pa_phys_addr( + unsigned long addr, unsigned long addr_unit) +{ + return (phys_addr_t)addr * addr_unit; +} + +static void damon_pa_mkold(phys_addr_t paddr) { struct folio *folio = damon_get_folio(PHYS_PFN(paddr)); @@ -69,11 +75,12 @@ static void damon_pa_mkold(unsigned long paddr) folio_put(folio); } -static void __damon_pa_prepare_access_check(struct damon_region *r) +static void __damon_pa_prepare_access_check(struct damon_region *r, + unsigned long addr_unit) { r->sampling_addr = damon_rand(r->ar.start, r->ar.end); - damon_pa_mkold(r->sampling_addr); + damon_pa_mkold(damon_pa_phys_addr(r->sampling_addr, addr_unit)); } static void damon_pa_prepare_access_checks(struct damon_ctx *ctx) @@ -83,7 +90,7 @@ static void damon_pa_prepare_access_checks(struct damon_ctx *ctx) damon_for_each_target(t, ctx) { damon_for_each_region(r, t) - __damon_pa_prepare_access_check(r); + __damon_pa_prepare_access_check(r, ctx->addr_unit); } } @@ -156,7 +163,7 @@ static bool damon_folio_young(struct folio *folio) return accessed; } -static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) +static bool damon_pa_young(phys_addr_t paddr, unsigned long *folio_sz) { struct folio *folio = damon_get_folio(PHYS_PFN(paddr)); bool accessed; @@ -171,23 +178,25 @@ static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) } static void __damon_pa_check_access(struct damon_region *r, - struct damon_attrs *attrs) + struct damon_attrs *attrs, unsigned long addr_unit) { - static unsigned long last_addr; + static phys_addr_t last_addr; static unsigned long last_folio_sz = PAGE_SIZE; static bool last_accessed; + phys_addr_t sampling_addr = damon_pa_phys_addr( + r->sampling_addr, addr_unit); /* If the region is in the last checked page, reuse the result */ if (ALIGN_DOWN(last_addr, last_folio_sz) == - ALIGN_DOWN(r->sampling_addr, last_folio_sz)) { + ALIGN_DOWN(sampling_addr, last_folio_sz)) { damon_update_region_access_rate(r, last_accessed, attrs); return; } - last_accessed = damon_pa_young(r->sampling_addr, &last_folio_sz); + last_accessed = damon_pa_young(sampling_addr, &last_folio_sz); damon_update_region_access_rate(r, last_accessed, attrs); - last_addr = r->sampling_addr; + last_addr = sampling_addr; } static unsigned int damon_pa_check_accesses(struct damon_ctx *ctx) @@ -198,7 +207,8 @@ static unsigned int damon_pa_check_accesses(struct damon_ctx *ctx) damon_for_each_target(t, ctx) { damon_for_each_region(r, t) { - __damon_pa_check_access(r, &ctx->attrs); + __damon_pa_check_access( + r, &ctx->attrs, ctx->addr_unit); max_nr_accesses = max(r->nr_accesses, max_nr_accesses); } } From patchwork Wed Apr 16 04:25:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053146 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 3C952C369BD for ; Wed, 16 Apr 2025 04:26:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D1ADB6B0249; Wed, 16 Apr 2025 00:26:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C53136B024B; Wed, 16 Apr 2025 00:26:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7DFC6B024D; Wed, 16 Apr 2025 00:26:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 865C66B024B for ; Wed, 16 Apr 2025 00:26:00 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0335481E3D for ; Wed, 16 Apr 2025 04:26:02 +0000 (UTC) X-FDA: 83338619364.08.8557381 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf19.hostedemail.com (Postfix) with ESMTP id 75D371A0005 for ; Wed, 16 Apr 2025 04:26:00 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iUrYZfeT; spf=pass (imf19.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=1744777560; 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=xJXi+UFe1kK64R47FM2xAnOv8sD9mHxF1xOC9DXG8a8=; b=B9Y1f6e7siTup41kMTEd0uLD9tNgMi/PM2ABV4u71N/aVaMnMBXBtOdgTQwITvrjomRkjC pNJmxxxxF/9dxFM0m70AMQSPyTL8P8cw6IbaxaBRpqD9ibm8EQFYgxwzdntxGmb8lxrNJ/ WJyul95iiP7bdnDb8ydPcS3DuDrXDjU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744777560; a=rsa-sha256; cv=none; b=72il4t2tujDyQ/LIBIJCPnyj+IAlwAfPgoH6BbyxXk9VHhaRnyNt/3Yn1zKEZwHkCQxWGc g1S6qWYeq7iwKxwh8/RRK97vkcYHzdcQdgpNpT5JVKxv6LNCP84bxx6U6xNjlBL6XVXg86 jFBT6wG8Ouzbj0FO1MMSzaLRelw6xG0= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=iUrYZfeT; spf=pass (imf19.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 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 829B3A4A8B2; Wed, 16 Apr 2025 04:20:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81106C4AF09; Wed, 16 Apr 2025 04:25:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777559; bh=9FVKfq16K1iqFomF4A+02zHJ3L+keGr+U4JdYI2U9pw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iUrYZfeTmpDfX1SIxZoLmRiBugiN4zNnnvQeinfMULtF0+KkhBzzyJT0kYwMNRp0g eAGrdSq/NG6TMsPGpk8lFkwn3/Zr9mX8sZ0qyVDMdjakmZYPaSrXlATUWadvkbd5OR 8JtVPKdAksq72LSsiWySAC57QQWQOwf93j4xQ2tGnyA+Z0eXqf0AQPdBm5Slj8F46J hMzgTwyRiKD1ia8y+GSWunlRSki2fAy0cJb9kg/mdLuGvL9D5Vt7t7BO87ee+CEfpW Q4VVi32UYFA04bQ9bSz5DxOiBaFL7mHFJ0owdS/42oagnc2yBDkA7WRUbtJnTnCtOZ DOH8JQ9MFg97g== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 03/10] mm/damon/paddr: support addr_unit for DAMOS_PAGEOUT Date: Tue, 15 Apr 2025 21:25:44 -0700 Message-Id: <20250416042551.158131-4-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: b9gr4pd8yp3ar8oft1yz4kn8wmiuw74s X-Rspam-User: X-Rspamd-Queue-Id: 75D371A0005 X-Rspamd-Server: rspam08 X-HE-Tag: 1744777560-655412 X-HE-Meta: U2FsdGVkX18SWzTP2IpaGzOV+N/J/6+bKuAYs+96rRSGzIp0AfDvlVsR0H4d5uAIzGn7Wr83LDpUcKoNBEQueXyG97WCQJDLohgGi0/A5X0bua4gkrYaZN035GuQNap635ACKpRvbYsdeVu2bNoawH06+mJ3KC42U4gJKJlWRRmvlLlcKHR+8G7TaUymuxw6SfqWS4zAqy2oeITHiI+PkPS1dVKJznIevPQGZGfqhC0eSANyNGY9HFx7bVhA0k7EK+cm0UHmZXcVqzf98MLi3TZKtysVoIa55D5M0qnJw691XgrLxxN2JLdePtq4wpYc68/IMfWgYMFMZHNwiz8MCkqD1hH+qhASCe9TewTkhrwK3pohSliG+ZbWBK8r3zK3ntourJb46mJ+tFVwjh62m8Lm/Txli67T+jasOI7pdghIocpumFBCC5E1HC0Mzty67hpCd7FA1Guk4t/C52xnmzXgcpbjQ6+VXWB10ueAsGfQCigeJnS7VG0FjAigT3YwXfiTrAjBJGiEVx02Pha2piDsnqNjoElfpeI8hAqXc93HPujW06/2qrLkBmjINzdSuFjTZaXCB7PeLnBcKaci6CHr2kJ9Z7XbYLqxqnoakkk1OU4uq7H2TBMPrO8GBFtZt/rAdAeaAKvQQRn6+wG5vfyoU4RfB1pDLKMLqywz9mguqNE0tJ6OFYVhTlVe5BuFmRIdj+VY+G1U5voQqQ0UYRTtnSLxoO/OM+NpkiM6RKpGmCLWzy4MEnpFFS/bSJWqugwC/qYGH+hHJheZ1FIjQoxUdrh95KqP5bGUEm/PDa4hsWabSb0xjjBFV1bfiMC9/aQSIV9bgCHxn+QPPY7YMrNPPN/RSCw5Z5Xnl3ICUeMRaG6cfNPeNo5rYVwlLFFN96CrwWvAZdFjCZb15YkHp58unp3KlfECNysSaf3LDG1S40ZsXpQ7FkzB70pdUWo0liTczsSupo2yIbwpamL GWjWruMt TJzGkAJGZUjqiphCSbJzsNeZDZAfXXEmVkHjVGOaBGXE1yH1RalOvUY2RfgnDLyx1mFqls07eyB8MppdcMhMYdTauSLTEMHtIAU+YhmwxQFJyxAvB289MAEEppLgAtHVfvyVRpu5Rph08b914fDeD3C3P5ZmB9ofznId/6iyRp4Ft/sevjhTnmudzAEjPkDK6OdEKa+VO2CGbzXFGNo7VmJoavhqm/Kny9JwDpavlJbeDyGUQAu872wOeaewWOB9Ke2i2zbosdHDnCnz4ghGITjZbYg== 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: Add support of addr_unit for DAMOS_PAGEOUT action handling from the DAMOS operation implementation for the physical address space. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index bc188aa2f01b..169ba81d4182 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -287,10 +287,12 @@ static bool damon_pa_invalid_damos_folio(struct folio *folio, struct damos *s) return false; } -static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s, +static unsigned long damon_pa_pageout(struct damon_region *r, + unsigned long addr_unit, struct damos *s, unsigned long *sz_filter_passed) { - unsigned long addr, applied; + phys_addr_t addr; + unsigned long applied; LIST_HEAD(folio_list); bool install_young_filter = true; struct damos_filter *filter; @@ -311,8 +313,8 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s, damos_add_filter(s, filter); } - addr = r->ar.start; - while (addr < r->ar.end) { + addr = damon_pa_phys_addr(r->ar.start, addr_unit); + while (addr < damon_pa_phys_addr(r->ar.end, addr_unit)) { folio = damon_get_folio(PHYS_PFN(addr)); if (damon_pa_invalid_damos_folio(folio, s)) { addr += PAGE_SIZE; @@ -672,9 +674,11 @@ static unsigned long damon_pa_apply_scheme(struct damon_ctx *ctx, struct damon_target *t, struct damon_region *r, struct damos *scheme, unsigned long *sz_filter_passed) { + unsigned long aunit = ctx->addr_unit; + switch (scheme->action) { case DAMOS_PAGEOUT: - return damon_pa_pageout(r, scheme, sz_filter_passed); + return damon_pa_pageout(r, aunit, scheme, sz_filter_passed); case DAMOS_LRU_PRIO: return damon_pa_mark_accessed(r, scheme, sz_filter_passed); case DAMOS_LRU_DEPRIO: From patchwork Wed Apr 16 04:25:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053148 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 419CEC369B1 for ; Wed, 16 Apr 2025 04:26:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7011D6B024E; Wed, 16 Apr 2025 00:26:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 68F7F6B0251; Wed, 16 Apr 2025 00:26:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 505166B0252; Wed, 16 Apr 2025 00:26:02 -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 2DD946B024E for ; Wed, 16 Apr 2025 00:26:02 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 7A40181E3D for ; Wed, 16 Apr 2025 04:26:03 +0000 (UTC) X-FDA: 83338619406.12.1742EC5 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf11.hostedemail.com (Postfix) with ESMTP id D8FBE40002 for ; Wed, 16 Apr 2025 04:26:01 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=p4usEUUh; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf11.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=1744777562; a=rsa-sha256; cv=none; b=f5+8fo0upiPc/cxfQ7v3nSDLIBRH8pztWAW31Ycs4faC7ghE00mzMG/YtW7MUROArh7ApA asrFRBoeI4pZx+6nt8FkcuY8oTWogZvGN5PJ88YN2Q4L61wDQcJoyH2GHrl8C49BN01pqg 6ZjB/EdQCiqj0yFKjLAdNsaMXe5+7Ws= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=p4usEUUh; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf11.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=1744777562; 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=JbxxdA/bqAgsbDwuLsm7pevx8meqKVXTW1jIn7mSnKw=; b=6mHoFP9WWI35RcHgDvK176xKcz3EQleSU46MzzGi26Ob22OftHCZ+eN0KVvHAOGILNmRg4 0+IQvn6teMipzcc2w4S9G5WIcogIY0cnqEDlJIKRc160Z+v0Ur95V6fNGlLbFSRvBqwXih 8vxZkFocZduVBEwFowMwZzGmOJqF8ew= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 1F07E5C5ADB; Wed, 16 Apr 2025 04:23:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1183C4CEE2; Wed, 16 Apr 2025 04:26:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777560; bh=aVhepC2SbbyeztBh1elFWeExoYmm7rHUW1i6zPW/jCA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p4usEUUhCGZUhfSiRp1VRg49kAqyRNEsUR/S5IHIPt1kf3tjOXkdSUhkaW3lwh9y2 7z3WWsrN6c/Dxcl0hSJoz+NrkJrJzf6mvKovDg2QpXOsfrWT7dC93umI7ZIj5mwdh5 sITAtyzkZsPAFqwGLf3sPAvhikhjbY6+ZCTZFbeePRb2SeXVoOyDgNppz8LEoGYgAN D4FzQLf6bsUBD4bRWXe+TG7CdUp5xq1aqB45jOFEWYZEuHtcV1nsUzcmDqt14wjhIN dKUba4U53Wi/saW1ZIAbCE/rFhlwJ/GCXHl98QimK71DVGZZZXRHOFQs0Ut3f5P6Z+ t57woOdqReygA== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 04/10] mm/damon/paddr: support addr_unit for DAMOS_LRU_[DE]PRIO Date: Tue, 15 Apr 2025 21:25:45 -0700 Message-Id: <20250416042551.158131-5-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: D8FBE40002 X-Stat-Signature: qoy9a75rmfciwutp38mduwizz6o7afua X-Rspam-User: X-HE-Tag: 1744777561-321019 X-HE-Meta: U2FsdGVkX19sxgR8f9d1FEyMktkyxxhNL4yGNdXkLvpq9YUJZVfCff4QBZzihpoB63scTiEOH+zPjvN/Cm+GXgufEZ2UXjfPZRNKP8kOoMG/kBJqY5AUlrBF5Abm68Fl6YgYXNLvCyA+ZaAkfcr8TWcr2egJBx0pzOtNHx7j5+9MjXoaaQCkfoat67Gl3AM9C1LwEQuPzvbUMMJCKcLHjsn5wvRs5Kj6RdMvTqYSE6vNLfjkMYf5Zr3eZGJppR2xxX53ckopsjaDWpxrSFOnRGeo04YwutAUPh0P2Qm6uKCW5z4WlNODTEZSEKsDRIRMha7NdX+gdVGM+8WdRs7lktQizjkc9vMoKJVe+HdaWZHt0H1IFAynsa+4RnezsblBHIYSvl+yI8ghcq4lFo1hFbDcRU+Nd4QsrMWo/U1QxBd4oYn5HMlXsQ4IVTVdqZLe3MrkC3TCSJ/RoWYhonJAKsDaQvjQRjZcq8Sx094kouBmUm0q4RzbHmdaa0EyzV1sAxgPgxexHnXsKVgF5hWHN6mgfypkLfl4lJZxiKTwpKUsobfjoQ/VZlQH0xFavSD6b5HQLpVVh7IqQaZoQl45m1iXZTB0fibx6Mlz+5SeRleqd7Gpw1nfP3SDmjvsuBDenSMUuVe8qM5vnpO1eKt4Dcb7F7p5/Kn/TU2zikW3cn+FXoQPZJS8cqX0+zRyJKRu3xJvs/0Ty6BewVxbjRRn3b8tNuE++FGNfiCJFZOX8iHFHd+k6kV5fZ/zd0Uzjw3H3J4NIRcNEcYUcRIx2R16wX0/BBQBi6m6S0U4SL0Fg0C9BXecMrCe3WXz3pqw3VCsR3wRl25sm1GDG1CNI6HzshAR6qCB+BKbccOaz2JA6KwrENejTnt/Eax9FrpP8T+ODzVgYy9ETAkl7JV3clsPr2mOg9PW2K5eAP7amnItme8bLEs7L9cz8bMvW2Y6aZLzRD3prcGwC0j33iZAni8 Sm413Pd/ Z28jUEzDRSc24bch7DclqsXb1nAX9VAlrFdi1XrRmfsM4qOoeqCnbzgDon/qtX5v7jGuA5IXwITeWtWWUbVHmRSUUrIWnIZ82wxWco8XBHY9F31x1LS7UDzy7lEICjbHCvs+LEde2O1u2sxOoe+uIblMU6Y+FVKYoUqPYxlXMmiEqy10Db57FvBOcntyL/CqIgR5Q4TU3s+ZpAjVZSnhnn/S23TN5N6QSNOm/PbUH4zbV8WCi6s3FePjKeNxR22bhifFJfnHa5JwA7kQE0FwCZhGrpQ== 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: Add support of addr_unit for DAMOS_LRU_PRIO and DAMOS_LRU_DEPRIO action handling from the DAMOS operation implementation for the physical address space. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 169ba81d4182..fc1c720e8cb5 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -347,14 +347,16 @@ static unsigned long damon_pa_pageout(struct damon_region *r, } static inline unsigned long damon_pa_mark_accessed_or_deactivate( - struct damon_region *r, struct damos *s, bool mark_accessed, + struct damon_region *r, unsigned long addr_unit, + struct damos *s, bool mark_accessed, unsigned long *sz_filter_passed) { - unsigned long addr, applied = 0; + phys_addr_t addr; + unsigned long applied = 0; struct folio *folio; - addr = r->ar.start; - while (addr < r->ar.end) { + addr = damon_pa_phys_addr(r->ar.start, addr_unit); + while (addr < damon_pa_phys_addr(r->ar.end, addr_unit)) { folio = damon_get_folio(PHYS_PFN(addr)); if (damon_pa_invalid_damos_folio(folio, s)) { addr += PAGE_SIZE; @@ -380,16 +382,18 @@ static inline unsigned long damon_pa_mark_accessed_or_deactivate( } static unsigned long damon_pa_mark_accessed(struct damon_region *r, - struct damos *s, unsigned long *sz_filter_passed) + unsigned long addr_unit, struct damos *s, + unsigned long *sz_filter_passed) { - return damon_pa_mark_accessed_or_deactivate(r, s, true, + return damon_pa_mark_accessed_or_deactivate(r, addr_unit, s, true, sz_filter_passed); } static unsigned long damon_pa_deactivate_pages(struct damon_region *r, - struct damos *s, unsigned long *sz_filter_passed) + unsigned long addr_unit, struct damos *s, + unsigned long *sz_filter_passed) { - return damon_pa_mark_accessed_or_deactivate(r, s, false, + return damon_pa_mark_accessed_or_deactivate(r, addr_unit, s, false, sz_filter_passed); } @@ -680,9 +684,11 @@ static unsigned long damon_pa_apply_scheme(struct damon_ctx *ctx, case DAMOS_PAGEOUT: return damon_pa_pageout(r, aunit, scheme, sz_filter_passed); case DAMOS_LRU_PRIO: - return damon_pa_mark_accessed(r, scheme, sz_filter_passed); + return damon_pa_mark_accessed(r, aunit, scheme, + sz_filter_passed); case DAMOS_LRU_DEPRIO: - return damon_pa_deactivate_pages(r, scheme, sz_filter_passed); + return damon_pa_deactivate_pages(r, aunit, scheme, + sz_filter_passed); case DAMOS_MIGRATE_HOT: case DAMOS_MIGRATE_COLD: return damon_pa_migrate(r, scheme, sz_filter_passed); From patchwork Wed Apr 16 04:25:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053149 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 DFD2DC369BA for ; Wed, 16 Apr 2025 04:26:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A88B06B0251; Wed, 16 Apr 2025 00:26:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A11DA6B0253; Wed, 16 Apr 2025 00:26:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 814F86B0254; Wed, 16 Apr 2025 00:26:03 -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 578F96B0251 for ; Wed, 16 Apr 2025 00:26:03 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CB10D81E3D for ; Wed, 16 Apr 2025 04:26:04 +0000 (UTC) X-FDA: 83338619448.01.65BBB27 Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf09.hostedemail.com (Postfix) with ESMTP id 3667C140002 for ; Wed, 16 Apr 2025 04:26:03 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ssgOo52A; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf09.hostedemail.com: domain of sj@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744777563; a=rsa-sha256; cv=none; b=1VAP5/Wpgvh1pLoPla7rq5sK9c4f6yuW3O7FjDQOacWuvLcdwS0x84ROBfsH946kCaL1/L eRbH1pjaMvjTVGGvfLd27Di5G+s2WQo21Ar+/kSSxA+c+05TanHofQs10uPR8l0cGRscPk V2DCR1yWx0QK0jTtmPrXO0ZHWS0j/rU= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ssgOo52A; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf09.hostedemail.com: domain of sj@kernel.org designates 172.234.252.31 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=1744777563; 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=T4S9J/P+gNOKpDmeKej8xkBQs/mpM6+yT4oNT2jPH8s=; b=q8WQnGwv3bF6ZA9DMBlqSrx+PpaP6IPOCGyohnyMSUbaSBogIqc4tyP9WY8EiXCJD/B5uP szzEC6KCtawYEx42TVYrz1QjHTyVP1GUV5jYI6IYzGDZWBgymbGWqw4SUhv1CQOTuNc3fE /AHObLMWF9eFXuwSxBYMEaWty5FGIVI= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 28E054A12E; Wed, 16 Apr 2025 04:26:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BA77EC4AF09; Wed, 16 Apr 2025 04:26:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777561; bh=Myr9hqDo4a3r6KKSLBNVuCCKy2yFFpmUIR+1u2z5KfY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ssgOo52A+rMsAEaIo1nl30iYl9LUCcs1e6V1UzIcrgdUsg8Q4lUrtgTm52upgkvT6 6WBId0vtCYjDycLRtsC6a1hm6EP3xIy2Jhh67DomvL4cbXtSkJ731/nkBOAzKUERVr Pm7+eWR27haRl5A6P4pi/dHzOKewqdiJ3X93/bZ+j4x8PMuScCEa6U2i8xB5y3tZbq GP2ls75H3R5q6PchY2DVVfS4/3sLdO3JhMnWa7epoYxSN8V9Xf8+4GfBphZlbc4r2Y KNLtILFsYKs5rS1KvuO74Or7ZlrSZ+3vRfJl9uo8gmy6BO2f2FZZzpMwtl15kOyTyk oh38xbLPIs6hA== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 05/10] mm/damon/paddr: support addr_unit for MIGRATE_{HOT,COLD} Date: Tue, 15 Apr 2025 21:25:46 -0700 Message-Id: <20250416042551.158131-6-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 3667C140002 X-Stat-Signature: fwpb8ehi6fauj4gkfssi4s3j37h7cojr X-Rspam-User: X-HE-Tag: 1744777563-145062 X-HE-Meta: U2FsdGVkX18p3tGiA9jLT40LL9Xd8/pDnHpc+hmPsERQYGqAsadOHeY8QE5Ibar6+Qc1NdghrxzSFyFtUsYqYyk+pv9JUvqLP4J7W+lT6IKihjV116m8LfdutIewYizIv8FOhHueg5+dRCLwYm7Y3pCTTzLPUdnIx8MuOXfJ0h6G6w4lT2+qZ7h7CEmF0mBxqgBP8o2JUnkYjqwC+otkqOY2zRCh0pL65gSoadYTYkLdhvL50et7u8JTIDCh4v8s+wvvwWoqjosGkLDvpE/Ek9jAZYMtvkLJNuqfY7pnL/UAt9LxTDGALn4cFM8/neuP7AVXBX4Ji5o4WyiedlTtSCidBh4nTRUqAnATtmB2CkidLpAnWJN87UIB+vuRwJfcM2+yzGVvgR1JSCQjca3kuQt30R3tTKzVJpb8skndyPH+SOXOwWGfcYthkMcBmpRlGh03X0G7Qzz9Si1XG0BBeg5JjJdYhCrKgy/Yy+nQkf9fEX9HhrWWOeb1ppJWEzoq1yweh72JxV9oqOFQAQQxpXksxiGji14Exm3+0kHxUeEL5B8DH32/DHCAHD47DzBITwubgZEykmTTAj7Peg06WYAmEllzFeWKpYyCnumKQkyTCSphyf2qzlEDmfc2qJXHYzSsBV3LqBRXy6q/LviESLPe4yYzwdTVNeiBKj/W7wnXf59N9PX+TESXI6NJBL4F7IWtReiBPPNz7TpGQraoaA2zO7DEDypZd3ItTupc5cCJzDHPwccE+JFcVbPP2oSP9kONiZv5JoyLsuvNKXw0xLYGbJo0Bm0lAis3rOJuZCmf3jrtr/dWrt2UbpIe3pTs1FFkUiEnmFZcAq9j8nZZ7mzKAI6z5pqRZoibK/L04oRKoyvsV7E7pa+0gRquujDwOfAmLYk1N5YRNanJcPpKYTbPqclL8LjY7Kcy1h3n6FMiv1cTBjDLWR4OHqvVucAqmUUoCMfFBmIZdrU9rwk +ObIQEJN WmoSXnevgO4MlEg8TM0p4INqgyAEPZGkYRpDSVQWzEDOozzqf/ViF6zL/thBnGJ5USzeZr1L6Qr8jbKCp/a6jkWSz47w61uSvLnd4ajlQoHmIAOSSSpxYeHrDzI1xFz6Gtx5qFKzYC4Eu3UHt2wcMh3Hao7y2vuRHXHL90DBH64mxVTUjo1DimxsNf0Ieu1hc+2LtFwlXxpUWCcDE7dUtvQigE4BusdvLlvXKQE/+O8H09XXpF+7d89ySlfDwQt3Lgf8rCTZzng6kXp+bjD7RLT6d+w== 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: Add support of addr_unit for DAMOS_MIGRATE_HOT and DAMOS_MIGRATE_COLD action handling from the DAMOS operation implementation for the physical address space. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index fc1c720e8cb5..20955eefcdbf 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -518,15 +518,17 @@ static unsigned long damon_pa_migrate_pages(struct list_head *folio_list, return nr_migrated; } -static unsigned long damon_pa_migrate(struct damon_region *r, struct damos *s, +static unsigned long damon_pa_migrate(struct damon_region *r, + unsigned long addr_unit, struct damos *s, unsigned long *sz_filter_passed) { - unsigned long addr, applied; + phys_addr_t addr; + unsigned long applied; LIST_HEAD(folio_list); struct folio *folio; - addr = r->ar.start; - while (addr < r->ar.end) { + addr = damon_pa_phys_addr(r->ar.start, addr_unit); + while (addr < damon_pa_phys_addr(r->ar.end, addr_unit)) { folio = damon_get_folio(PHYS_PFN(addr)); if (damon_pa_invalid_damos_folio(folio, s)) { addr += PAGE_SIZE; @@ -691,7 +693,7 @@ static unsigned long damon_pa_apply_scheme(struct damon_ctx *ctx, sz_filter_passed); case DAMOS_MIGRATE_HOT: case DAMOS_MIGRATE_COLD: - return damon_pa_migrate(r, scheme, sz_filter_passed); + return damon_pa_migrate(r, aunit, scheme, sz_filter_passed); #ifdef CONFIG_ACMA case DAMOS_ALLOC: return damon_pa_alloc_or_free(r, scheme, true); From patchwork Wed Apr 16 04:25:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053150 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 3938AC369B1 for ; Wed, 16 Apr 2025 04:26:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2994B6B0253; Wed, 16 Apr 2025 00:26:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 18B186B0254; Wed, 16 Apr 2025 00:26:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E06256B0256; Wed, 16 Apr 2025 00:26:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A903D6B0254 for ; Wed, 16 Apr 2025 00:26:03 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3780C161CEA for ; Wed, 16 Apr 2025 04:26:05 +0000 (UTC) X-FDA: 83338619490.11.110D2C5 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf20.hostedemail.com (Postfix) with ESMTP id A9AC51C0003 for ; Wed, 16 Apr 2025 04:26:03 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=S2f4NLft; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744777563; a=rsa-sha256; cv=none; b=NXgNXhFxu4rXPafR9+4kRMVuDYvbuZcXb06/T9uilMBql74rCxusmixGmpZHZeWi0dyZhF JrwmSzgEQPh+s9ASiFhb2Vz4QqV/eVwLQIRXHTTNB/T4tNs6p9GxVW0JuZQ8uiUYKJXFfD vvOI80MeRollBO2DP3lKeFHdp6QRg1s= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=S2f4NLft; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 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=1744777563; 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=FG2+VhBKrmkYKtjGn1bVWWOypCkiJZIe9Q5pPhpePI4=; b=ob4kcrW981rpir2B5HpiuB/HVORcqOWb1SzERP9IMsAFVuTJ/I504m+SajVw3iq06liCwS 28KfOWkvHH3XsL2bjuZexnCNlReM4ILY2bF24xA3eJnZhWiuaR4al8g9TrQyldjCT5zhM+ Qmhi9dR3u+CpJ4TY2YVyEimlgIOxDAA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id D122FA4A8B6; Wed, 16 Apr 2025 04:20:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CE81DC4CEEA; Wed, 16 Apr 2025 04:26:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777563; bh=NF1Fz3bDL9B8+3kS7pFSCGv/wFAjiHx4+Ev+Qri+nRI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S2f4NLftPAY2dyH5uJ9BBSOkQIXPLI+NMI9wIuqb7TxG/RSNHu+LqtgDjjEBIDVNn 7NtByuthkgHRjmg5XBSlhPisAWE9Ln77uuth9cLZlM3EZpUXYGlPhAnGPZBvtitINP 63X4bG0SB48Nzt1kUGflNNpg1zEruzc+c9gYKuKP1A7fvNc3egUsHhpKKVwxUIf/6t v799YleAqN9wag0aUJil73BmheVT3RjtnY4//DpGbSNUTqJiaORH0WZRLLb27b6rdQ rgiLsnYIFC+tWi/MvINGZXCb+eE6hDegvyOT5C0oxrwmese+t3rxR2MVEQXe2R0NcZ tiBbouF8I9YNg== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 06/10] mm/damon/paddr: support addr_unit for DAMOS_STAT Date: Tue, 15 Apr 2025 21:25:47 -0700 Message-Id: <20250416042551.158131-7-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: A9AC51C0003 X-Rspamd-Server: rspam04 X-Stat-Signature: bo1adk3m54sjigkysaiz6cwjj7rjc8k9 X-HE-Tag: 1744777563-884536 X-HE-Meta: U2FsdGVkX1/7i47FRBlrb9AmRPJuy9s6KTJ3qip09xFRHlxQlRpKyviLP7qrUqgF6waHGu/gw2+RjvkEL2AfspH/mGxsKeaU0Ga8SnA8Vj3JcRcVKTiUqEFnSk8bU20TYaRcMm+fDFnMVl9c+VkMJ+hWZWOGnoDeqREeq6nNAyiOce9aosIFe/Kl+HM7HCsGq+38M+vZRHXzD+10zD22syPQvGejvz/GFz/x10CiSiUuPPCnWYZfjBOErUcshgqsRoVPR7dA7fRni2uJ5h4EJW7ErtjTegdRqh4Q3C4ev/D3F3a+Idg0WGwJaDqJq/xcYys1XlAcs5o1HPa9Zv9gUOBXqUEV36wDQjpFrvZXaHrTsPpwhNvKuVCJNeCsVZGttlTidsxqhluwT52fdrRuBKNj/9il7aE6YwxPXymyDdKZn4G7YhKgUYm0dkxBh/zampH27fx+BudWC2TwPUssaZNgZbuVBrU2XR+XuTTZyvXjU9v9uRjnUlZy3w8WOHbC10OZoM/SMeGvAzjU/sLwQxz6Tok364U8A/g1xF3+UzSb92gH8XU7382II0mdrY20FE6PJcj3HjYh0gUa0ubw1iumrmgdZfN9a0ZSiFjZG7zvpmPbnssH1/yQEx1dupfPvMHCdMwQlT0xCTZk3cVT0zSLd2yMjzFs9UxKL1+T6X6GoHqZuC6ipg3zunOIH/UGov5HEX748Zge4sFsJoNVb38Eoyb9vkSwwzm/pMJa/Ejco5gVthjqkfCnTkoXzSIO3Qil2f5ofUBF2pH/CRJnWjq3Y6JbVGzhY2JI4BFVzyGAg/iCl4MLG3WOxYUNveVzy+7ukkHPNLK47zYxVpETiCQPGd2Wm03HWb6ypbZkTZtta2DNUIhGEwos9nAJMV0XfON9sU68wb8w7JT24pVfoZTXuVxM/EfkX/bXlR+vypAXw6cwdRH0UPSYXVbCotVmdJQqFMYELWvFt/sLq9p 2NDzf3P6 2KUVSoLhMLb0/bEGeiFB1yvau+wAWbRzmSanLvMmma3dF2I4/YSlP+3J3VPE2FBhIVnwr8qu5ahj6suhQ+Cnr65bigi61EaeQ6CxEo4JpZU0/P4Hn7/NtN9fQcsLksWs/NS2TDmZq1oSH0HwpIG/HgeFVpGB/2gQ7afp2qM37jO90g4r2oIPZT9dykxiq8mwLFaU6MR0nMsmR08tZKCdMk3Ugf+4m5s/fpmK2B583wWP7YXUXiGRDvKqPD6pXb0hYrxHf5IjKTxH+fJlVH5YqixfkcA== 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: Add support of addr_unit for DAMOS_STAT action handling from the DAMOS operation implementation for the physical address space. Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 20955eefcdbf..0d6491159a04 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -562,18 +562,19 @@ static bool damon_pa_scheme_has_filter(struct damos *s) return false; } -static unsigned long damon_pa_stat(struct damon_region *r, struct damos *s, +static unsigned long damon_pa_stat(struct damon_region *r, + unsigned long addr_unit, struct damos *s, unsigned long *sz_filter_passed) { - unsigned long addr; + phys_addr_t addr; LIST_HEAD(folio_list); struct folio *folio; if (!damon_pa_scheme_has_filter(s)) return 0; - addr = r->ar.start; - while (addr < r->ar.end) { + addr = damon_pa_phys_addr(r->ar.start, addr_unit); + while (addr < damon_pa_phys_addr(r->ar.end, addr_unit)) { folio = damon_get_folio(PHYS_PFN(addr)); if (damon_pa_invalid_damos_folio(folio, s)) { addr += PAGE_SIZE; @@ -701,7 +702,7 @@ static unsigned long damon_pa_apply_scheme(struct damon_ctx *ctx, return damon_pa_alloc_or_free(r, scheme, false); #endif case DAMOS_STAT: - return damon_pa_stat(r, scheme, sz_filter_passed); + return damon_pa_stat(r, aunit, scheme, sz_filter_passed); default: /* DAMOS actions that not yet supported by 'paddr'. */ break; From patchwork Wed Apr 16 04:25:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053151 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 BEEB6C369BA for ; Wed, 16 Apr 2025 04:26:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 422636B0254; Wed, 16 Apr 2025 00:26:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 387AB6B0256; Wed, 16 Apr 2025 00:26:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 18B2928000E; Wed, 16 Apr 2025 00:26:04 -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 CFDCD6B0254 for ; Wed, 16 Apr 2025 00:26:04 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5C2DD81DB8 for ; Wed, 16 Apr 2025 04:26:06 +0000 (UTC) X-FDA: 83338619532.09.9F7203C Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf25.hostedemail.com (Postfix) with ESMTP id C4B31A000C for ; Wed, 16 Apr 2025 04:26:04 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=s0ZGTJC5; spf=pass (imf25.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=1744777564; 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=3TOP/4VxCCpi1d0mjWrFDdxJRKOncCNUsGYNgRaQ0OA=; b=Z/WZuV/mnJN+gExKyXb8kD+P3PaAyJ47obnCeOn0DPPycBaN7NdCgcKDuavAGcs0Yn3mKc 3aR0vaTXYpPUnD5R3JtpyYgZBuv/1pxEJ70+zwRg5uSEwj7Si04cwlhNQO1X2T7fniyxCn w4mw9rHexKem1RLnblO7ykAfqcEL62Y= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=s0ZGTJC5; spf=pass (imf25.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=1744777564; a=rsa-sha256; cv=none; b=3RKyt2uzehK0SNh9hzLKi95SAY+cJyBCZ50VV+OwrT0RqKeGYmLGLhmvRL8ezUwfaRtIKr XVOlJneg8ixuAxD1ofp1Y9UFvJU54UvRmmBQBoRfoOyafVl4YzybQPbNLZSFsvLIQbPxKN CjhvrkKTJ/THITFaAQQM50WKyh9Lgn0= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id E1D64A4A8B3; Wed, 16 Apr 2025 04:20:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4794C4CEEA; Wed, 16 Apr 2025 04:26:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777564; bh=VVcSdVBTKKi06qwTl9rWSnXUumWlw7dYXO3OAlE/vPw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s0ZGTJC5AzEa0qRAeIbadf2/M4vCz6O0N4ey7KSAHYfBZUJzSAb6ty7X0H6b124i/ xc0gdbjgNzDVrwtg7TmFQiw4/5Cb/owsg+o8qW8MXn8uyLV1jpJCXDwX0yV0S7ld6O amiIlfqX702lSDXcUqUX7w3w1p//t/TKcLwKOVfB88sRuOi6eZpnRYH56HDkC2JS5P K6GTVV6rL1oqUcMjywOB/l3GDiMkjn5hxIQASwozEdIeHc1CIaAe+UJDxKSZnnbaUz yurHm4e4rAeklyUz1zqDoEDbxCkoOyFlaU1d8PlP42eaopCzr33uowyaEW0kD/gQgw HrAnmbR6MBwgQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 07/10] mm/damon/sysfs: implement addr_unit file under context dir Date: Tue, 15 Apr 2025 21:25:48 -0700 Message-Id: <20250416042551.158131-8-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: C4B31A000C X-Stat-Signature: ea8cf7oy5gko11tq4hygshqp7usb18dp X-HE-Tag: 1744777564-262070 X-HE-Meta: U2FsdGVkX19UKgbw0TdpU+qH+FOZD9PcvGgCR2ZrOtyOOo7LXTBBJ5Anj1VVNi0P00FLjae6MCjviLPLnPJvaKPbG+LEGWCHbmVJ4rpbD0dBgvl0LzVlJcqHHfk8/aRLd8Oh5cvTzhDk49lo+O6/1byiSosa9H1WE49pcvGH0rreDkCiTTt0i3BUSAeNxp1VXlgMhIA8egHPLieEPW5jZ5h80VaY7PPfdic1ZWl4QSUqIMRGabUGbi77wOd5SsESQCwPPWb9J/aKhrVYao83ItgyHyRnvR/H65A+Wj5A9ZrK4Ast57DJQTxVpYFrJw3x3zmvOtUpNfPKJSxFMNoCKh1pdX6EkXU05uxZb84EjnANDT9dKa46IsCl4W6jygInPjrIlGb68N0evMWX5+SOb69U9+Jhvwjjzfp85gIaOzws+g6fkGpYyY+LEILPKMq2Q/TkgeU3SSKIOxO80Z5FyWf/RObfgrcAmbWkLIHjPFKVJmO1Kob6LcuycA/NMOCPWZCR6FlR6brxk9+NpfOh4i/D1XdUc/KB8PW44YFCq3ToOBcn+BuSNNW+FFmVYIWbiPA/x+/ZvEtbVr0/egK1E9zIo4e8YrT4t/YUFbVweZuqx1X9Lz1Hh6ggOZiswZdWSJgvVt05m3K5CT85Z8NeIQOoxju7iwMmM4K9MGSBik5ZWGXy0InfcRFdxjhdT8dJQoaZTtztF8moQcchJgBEOFkiEzs0IRcJODOxC3JDIKH74/2wuLKIhIa6gm01T5VnEMOtMsOUGwgEeEamzbIrlFBW3T+El3jG7NnaaS7hwq8NikIxHS9rKx4pbSNZ/8Lh/X4UAOace5qxJAboGm27l0i4Tc4uowOQM7XY3EniHi0/al1KYE+wibsKa7EvwFxz9h4r/9Cend00JShclMEe4dsWbeVw6/7gf1ShjoKn6auIrkIgJ/eY8rWHjSmtNY0SYJah4UP6U5fDDFphUry ZPzIBDk9 O+4HXgSMf99QA8/TDp3D43zKCvKO6+cadcL0WfKPn3YV7HWndj7DOXVjsS38kLcWwIPF1ik3JkTMeAKU8C4Y/+4ZVeonyB9lLXaTxLKXn4qn7UTvH8LQ4EvljRMToGXxVSax6AF7inngEM7D+H0pX2RJ/1AxENBVMUZuJA4l3CBoFfoDSlJCVWf0bsx1nD9hJ/KupyDVHyx5Y/Y+a1XWhjFPAysZQ8s8UNFPDDZEiRYBIsLTd12LXXWjislHFp26sOXC3r6dF19deR7pyq2qOEtgUTA== 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: Only DAMON kernel API callers can use addr_unit parameter. Implement a sysfs file to let DAMON sysfs ABI users use it. Signed-off-by: SeongJae Park --- mm/damon/sysfs.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index 1af6aff35d84..ebd7cfa235b0 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -821,6 +821,7 @@ static const char * const damon_sysfs_ops_strs[] = { struct damon_sysfs_context { struct kobject kobj; enum damon_ops_id ops_id; + unsigned long addr_unit; struct damon_sysfs_attrs *attrs; struct damon_sysfs_targets *targets; struct damon_sysfs_schemes *schemes; @@ -836,6 +837,7 @@ static struct damon_sysfs_context *damon_sysfs_context_alloc( return NULL; context->kobj = (struct kobject){}; context->ops_id = ops_id; + context->addr_unit = 1; return context; } @@ -971,6 +973,25 @@ static ssize_t operations_store(struct kobject *kobj, return -EINVAL; } +static ssize_t addr_unit_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + struct damon_sysfs_context *context = container_of(kobj, + struct damon_sysfs_context, kobj); + + return sysfs_emit(buf, "%lu\n", context->addr_unit); +} + +static ssize_t addr_unit_store(struct kobject *kobj, + struct kobj_attribute *attr, const char *buf, size_t count) +{ + struct damon_sysfs_context *context = container_of(kobj, + struct damon_sysfs_context, kobj); + int err = kstrtoul(buf, 0, &context->addr_unit); + + return err ? err : count; +} + static void damon_sysfs_context_release(struct kobject *kobj) { kfree(container_of(kobj, struct damon_sysfs_context, kobj)); @@ -982,9 +1003,13 @@ static struct kobj_attribute damon_sysfs_context_avail_operations_attr = static struct kobj_attribute damon_sysfs_context_operations_attr = __ATTR_RW_MODE(operations, 0600); +static struct kobj_attribute damon_sysfs_context_addr_unit_attr = + __ATTR_RW_MODE(addr_unit, 0600); + static struct attribute *damon_sysfs_context_attrs[] = { &damon_sysfs_context_avail_operations_attr.attr, &damon_sysfs_context_operations_attr.attr, + &damon_sysfs_context_addr_unit_attr.attr, NULL, }; ATTRIBUTE_GROUPS(damon_sysfs_context); @@ -1414,6 +1439,7 @@ static int damon_sysfs_apply_inputs(struct damon_ctx *ctx, err = damon_select_ops(ctx, sys_ctx->ops_id); if (err) return err; + ctx->addr_unit = sys_ctx->addr_unit; err = damon_sysfs_set_attrs(ctx, sys_ctx->attrs); if (err) return err; From patchwork Wed Apr 16 04:25:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053152 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 21036C369BD for ; Wed, 16 Apr 2025 04:26:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4256B6B0256; Wed, 16 Apr 2025 00:26:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3AFAB28000E; Wed, 16 Apr 2025 00:26:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24EC86B025A; Wed, 16 Apr 2025 00:26:06 -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 010106B0256 for ; Wed, 16 Apr 2025 00:26:05 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 8E9EFBC4E4 for ; Wed, 16 Apr 2025 04:26:07 +0000 (UTC) X-FDA: 83338619574.21.FEB0554 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf26.hostedemail.com (Postfix) with ESMTP id 02D2E14000B for ; Wed, 16 Apr 2025 04:26:05 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=dSsJWtUD; spf=pass (imf26.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=1744777566; 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=mVjEgSjSQp4rtCIc5dd/5AyB5TpVfMT5GgYDUWc3HMk=; b=VoIQH//GtDw183txooD84bAZ0I4A3w7z+6Mk0RCnHbwGohC2EmN5DfkcDUvfVoO/iY+cqf AGa9ZY2fqMdMcbr3CjRj0mxQvbZF8bI4DeIlPLwWPL+CAqeiwXHcZuXkDnZMwPY109GM66 s2SzFWOqVTHTmo7JWRecuQrTIDip3hI= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=dSsJWtUD; spf=pass (imf26.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=1744777566; a=rsa-sha256; cv=none; b=VliHVqo1jm+VWBeQ2zLPj/tCmwMlc7LZtzVmMGTETbhOpx3EgEG4ZgQwBy+TrCU9A1zSqQ R8vYZ+O6pOkzGLPkSepKa3Mm5jKGUjJXcEGHFbA7xzlK3RnjE1Gm0hE6mdZBKhTJFc5kR8 b+uZINTWsxVDtL7Rfc8Hy+OayYFFJ/8= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 082DCA4A876; Wed, 16 Apr 2025 04:20:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 05D89C4CEEA; Wed, 16 Apr 2025 04:26:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777565; bh=C+T3wfxfhPRxkNioz56rR7c+eSN/gWhnmvnMwAnCIno=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dSsJWtUDU8hRRLhlhNl/VtJJcqzet4cq04mR3B4LCNcLGuXA5T/uhQq1d9V6d8fcn 6LPz3S9lTGld1i8HCiWnVxNdvJ2w/KqX0TFtBkzHH50tzm4AycnWrOxxRSRErvW2IM qAdMjO4q3g2bbHJvBIlXesRh/ldykDY7DXAtk/UB6Me5lZK4tGKxssNZOU/+34JzCS EKAhnq5Z7JHXguSjOz0C/83vvh2yh3x0PhrFd4beIF9ryD892ufu5HgEowX0iDSyZZ LBqmK1jsSkSmJ69pu+V/5Bh0CGT8wpUzDBafJnq7A/0haRIqOo9gJIEqcWfLxte+u0 7T5uvuyhKJTjQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Jonathan Corbet , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 08/10] Docs/mm/damon/design: document 'address unit' parameter Date: Tue, 15 Apr 2025 21:25:49 -0700 Message-Id: <20250416042551.158131-9-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: adz753ew657mb7ik8jfm9ibbdnxxzwe9 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 02D2E14000B X-Rspam-User: X-HE-Tag: 1744777565-78835 X-HE-Meta: U2FsdGVkX18vUGhzbpceEz11FjIb/NZ3yKOVdil4kS9krr0zRsh1HJxtFzXxhzrRqCOGhwC5J+XmAkFUVZZNx1pP7x2KAvz/EMXI/pl4AHyDfCRylPNdoeyZU2NHfmfv4lxGiNo1QiUzd5yMqxRyU+C2iLMScx2IYdJPECiVfbSWPijy2jUAYXcWclZiGcvuT93JPb6uMKcmuMlzpGlLYA/YkROvJiHvIe+wDuxfF3plHU1qAeN8K5e/fMMu8nbVw1NTdzdgr/Fj5dbj1TEgxubzRjwpBtB5YuDbLqQFP0SMoh+bwQHMO0OU9zMd4g4YvjlY50wwn6ZgdgqZMMXMjFRIrlZH9xf2Jw/dJYR6k7/CBnfmbh98tjmWFet8OR2wVThVIA/OM5Y+J6gG40k7nLmOl1cdCajPugRuLWU3hoL15etVLA+mAnyYMTEzyUFyDfElav947HRTmlf4Ha7OC2sDjLGPRIErPdAPOzFbbUVLuTWBXoSTwpGjy/zcoNG4sJWx1Exu1v4VakMXIQ/yHJj5WJZ7dTDx8VdaXThVf3RJYRJ2h8QhfI8QJHdKRIi/Cpkdm1lvtF7Bqe3ix4NpPkk80Pg069u1TATphfnH6Bee/ne2sdP7VLklIKxosqFsSLDlsrL6MHql8pzyUZ2JJXI+NRBzkHJDqWQT+0OpEKNLyNwzFQCdwfEEf1F5rk5R1+h8Sa4tWWYVuVkB6SbGCtwN39RMewlGpT5vNZv044GPauaM84hYBz8l67QLZ851G7ghY5jCF40LwQu+OQf5mttNc0FszyLGt0YpWs8dbdVinrFIfIMxhT9emExDH7VCybv7OY2Hhrou+Rsggb4q/bjE2f6b5qlHMYSQdiBNp5s5ChuJWOXrs5YLo82TmZMRiWhodsu3feBCCCg1a4RcE9ar277EOaCQr6AS/pCpHu7v2QXkwaGIIppv6wDznXUydiajAHjkOJJmipmAJSJ QN6lPR/B qbbfrVAWL8deOf9uLwjQDoddSunoFJEvwxLbppXLPiHvQIqxo33aPgFJbPg8WdHhjPQEaLzjQH2PfPgxr5nXQMd0/ILk/lsRnpsrIKM3tvIcxXIH6YIuP7R6OKmYjCM4IbrsI1fWsjZ/FG7yHlIgwxVSHkQi/rcqdjqHq+6Rym+uw7liGSWE+L9d59tpTlnYFrWBmGfm4sAvRucthhWXxT9eRsUQraVLl7DINnOGAyWJaq1g= 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: Add 'addr_unit' parameter description on DAMON design document. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index aa01d0232adc..696a4d738cb3 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -69,7 +69,7 @@ processes, NUMA nodes, files, and backing memory devices would be supportable. Also, if some architectures or devices support special optimized access check features, those will be easily configurable. -DAMON currently provides below three operation sets. Below two subsections +DAMON currently provides below three operation sets. Below three subsections describe how those work. - vaddr: Monitor virtual address spaces of specific processes @@ -137,6 +137,18 @@ the interference is the responsibility of sysadmins. However, it solves the conflict with the reclaim logic using ``PG_idle`` and ``PG_young`` page flags, as Idle page tracking does. +Address Unit +------------ + +DAMON core layer uses ``unsinged long`` type for monitoring target address +ranges. In some cases, the address space for a given operations set could be +too large to be handled with the type. ARM (32-bit) with large physical +address extension is an example. For such cases, a per-operations set +parameter called ``address unit`` is provided. It represents the scale factor +that need to be multiplied to the core layer's address for calculating real +address on the given address space. Support of ``address unit`` parameter is +up to each operations set implementation. ``paddr`` is the only operations set +implementation that supports the parameter. .. _damon_core_logic: From patchwork Wed Apr 16 04:25:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053153 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 76C4CC369B1 for ; Wed, 16 Apr 2025 04:26:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3BBBC6B025A; Wed, 16 Apr 2025 00:26:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 365F36B025B; Wed, 16 Apr 2025 00:26:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 13E7D6B025C; Wed, 16 Apr 2025 00:26:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E6D976B025A for ; Wed, 16 Apr 2025 00:26:06 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 67F5DC1A12 for ; Wed, 16 Apr 2025 04:26:08 +0000 (UTC) X-FDA: 83338619616.15.C525230 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf19.hostedemail.com (Postfix) with ESMTP id 049411A0006 for ; Wed, 16 Apr 2025 04:26:06 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=N7en+Pxz; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744777567; a=rsa-sha256; cv=none; b=GlI8z/rvrvlpc37AvJanjMVPvkfg8+qIvBDxlKEFD4/Hh9YuqZ+X5nFk7SQWMH4wixwK6X o9EiRhQGfX3DN9bRkJe5ULfteWwbK77sdaoxGusm+JimOpYEYo0nr3MaK3HILcuIdT1jW+ 33BSsxvn+BZgk2xd2EepLjA1flePXro= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=N7en+Pxz; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf19.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 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=1744777567; 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=BdTFi/QFfmbxCgHbmhoHF1yfo+I2CxnEpHxhFOhdTOE=; b=VWs+/bVDFAerlvTwHOPmx+NlsRhWURe1QdIU9AQmEWcn+YEmvyucjeRs1dqcMtdn54qDVV WxenbX28EXrcwxiLHJ4CB9KPCEUM6dYRJtlRgTUCsQhsBewv46XqBfjRuJDx3tZSUS0CSJ fkcMC/XHbbb+voC9FzLFcMeMmUBqiH4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 23E81A4AFFF; Wed, 16 Apr 2025 04:20:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 272B2C4CEEC; Wed, 16 Apr 2025 04:26:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777566; bh=gTYFPTKVeiLrjsKHoO4pSEKq3DJORWxzfKSpIOcjMaE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N7en+PxzKcRRBHhvIXSVBYX4N8Bj1OKXNXS8nTBkNWMQj5EReGiWsYxV8RwCa9tW6 q4SgY+Nx+cY0eXA2ZvMO59Z48LSeusitAqVSZQ71qEYjjZyc8Kgonqu6oGyzeryiay g72OkIXWCh+D5RZeQcJFPOV8Rz+c7wTNyyzbQV7EbtLecxqZZ43B07MhDlg5L5vdis hCyFup72ae3K051TFjWIjIAtbtUJlBeWwRvCqumQn5lbVJXG5Wa4pXQ7qq8nlUeyhs p+gUDjcK1iwOh9W+gq5vmidX8V/Fmh+V4xnq4YJ1FwyySeaFzsLUJqH2oaUUtynzbO PSrUmikBoky7A== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Jonathan Corbet , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 09/10] Docs/admin-guide/mm/damon/usage: document addr_unit file Date: Tue, 15 Apr 2025 21:25:50 -0700 Message-Id: <20250416042551.158131-10-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 049411A0006 X-Stat-Signature: atyb93u76fuz16oazmzksf5w4gtbyry6 X-Rspam-User: X-HE-Tag: 1744777566-749611 X-HE-Meta: U2FsdGVkX18+GVyxoBSyCWIPsScX1CoPGGcLHlx7PILY86IRrnnaBHZSUhjXoDiBRSXyEKjvvpP9NlReK7EG+KNZOJyxKN7cAMPXeGnGbg9ByxMPC9f2divbcBaRMNyeQnYU3j9x23KPSzGHdp7R2hy6qJrSaE//hwQDTpRtq4KPP1B5lj8SJoungpHsoqcN4hiPh9Kux6pPevjt9uyn/f7uWitOIQaurA42cy5gI3NNl5X0jaIpKgd76U0HfIwFidznqWDfG2vHJcvF1UMAKf0a1dFVHQRYKLdGmIz7ANVtp4lEM2H4kwqVw+yZWTSBE4cZeSiA4seDPMGYVGiVlM8RbHkNXfsiET3EphYfdwvUQ+5T7ODhzU0sIsiPcdrBICluaS3KJNI1UaiEVyAPaJrWV8r+cjXoftZhnJxS9b/dce4Y3JGWasveuEUo44U2hzRWpIOGl8VNxb6seHSXg2zXI9p8nIammL7+44LU3jJCziQj/nAhW0LRnHZUBB0zVqxDg55ctySqea6DOIQESvmO7y1i1SDq42cSss9SdxQc0wnXQKGwNMLzzOIwgW17JnEI0nlzAMWQraV+iJyNXW9FGl1quDIC0ngu7oH1jkYUHlasPBrqWmasPdCQ00skxfQbVIN4/lhGwTcy92T6fX4WLXUp1dhaEmm5MB6zRfA9Z99VyRliUhT/8z/nrKkGGtFatIn6c5v9w9dSJsmvf7lGlMCAw/8RtVn1x9KX1o+U3wjlRp8j9CAQnVUPTsGZCoJv9Daa8KVkRzT3wh1xtALlE/bd26ZJw+1RJXRp9L4rF8dG9ggweN7YyrERzxVtozfO+deTNTeRFOvh8Wsy71YyRpS7OEEjqYjQE03oJGdeqaLUAJyYtXAMF0xBhMXd92J8nXeokLfCbnM4fC/w8AnypgiLwy/JrhCPOMeOFFj35QExdGFLG0FR07k1sFc+ 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: Document addr_unit DAMON sysfs file on DAMON usage document. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/usage.rst | 11 +++++++---- Documentation/mm/damon/design.rst | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst index ced2013db3df..7638bbaf9939 100644 --- a/Documentation/admin-guide/mm/damon/usage.rst +++ b/Documentation/admin-guide/mm/damon/usage.rst @@ -61,7 +61,7 @@ comma (","). │ :ref:`kdamonds `/nr_kdamonds │ │ :ref:`0 `/state,pid │ │ │ :ref:`contexts `/nr_contexts - │ │ │ │ :ref:`0 `/avail_operations,operations + │ │ │ │ :ref:`0 `/avail_operations,operations,addr_unit │ │ │ │ │ :ref:`monitoring_attrs `/ │ │ │ │ │ │ intervals/sample_us,aggr_us,update_us │ │ │ │ │ │ │ intervals_goal/access_bp,aggrs,min_sample_us,max_sample_us @@ -179,9 +179,9 @@ details). At the moment, only one context per kdamond is supported, so only contexts// ------------- -In each context directory, two files (``avail_operations`` and ``operations``) -and three directories (``monitoring_attrs``, ``targets``, and ``schemes``) -exist. +In each context directory, three files (``avail_operations``, ``operations`` +and ``addr_unit``) and three directories (``monitoring_attrs``, ``targets``, +and ``schemes``) exist. DAMON supports multiple types of :ref:`monitoring operations `, including those for virtual address @@ -196,6 +196,9 @@ You can set and get what type of monitoring operations DAMON will use for the context by writing one of the keywords listed in ``avail_operations`` file and reading from the ``operations`` file. +``addr_unit`` file is for setting and getting the :ref:`address unit +` parameter of the operations set. + .. _sysfs_monitoring_attrs: contexts//monitoring_attrs/ diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 696a4d738cb3..56bfc0abff36 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -137,6 +137,8 @@ the interference is the responsibility of sysadmins. However, it solves the conflict with the reclaim logic using ``PG_idle`` and ``PG_young`` page flags, as Idle page tracking does. +.. _damon_design_addr_unit: + Address Unit ------------ From patchwork Wed Apr 16 04:25:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14053154 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 F3BBDC369B1 for ; Wed, 16 Apr 2025 04:26:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3499B6B025B; Wed, 16 Apr 2025 00:26:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2C9106B025E; Wed, 16 Apr 2025 00:26:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 058AF6B0260; Wed, 16 Apr 2025 00:26:07 -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 CC8726B025B for ; Wed, 16 Apr 2025 00:26:07 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5BD48BE2EC for ; Wed, 16 Apr 2025 04:26:09 +0000 (UTC) X-FDA: 83338619658.01.96AFD5E Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf26.hostedemail.com (Postfix) with ESMTP id C4D4214000B for ; Wed, 16 Apr 2025 04:26:07 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IeZLjGNs; spf=pass (imf26.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=1744777567; 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=/v1JSsRPkFP1vmKfljdy3iQkEo+OZZgV8Cdx/WkR6uE=; b=HtmZQpCRy4VxoRr1Sd2F8XdzBdrPneh2AquLshhrjmjjIt83mK92vyEceWJzwvQCSWDuY4 ff7A1ymxznY8GYphh0sV68C/iktbLuuvsFswvfhC9A2WcshjwQXPixby8mwUaddrI9lELr Jca8YFOnIq6GE7zgqkgIjeKXtjUDNN8= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IeZLjGNs; spf=pass (imf26.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=1744777567; a=rsa-sha256; cv=none; b=phWddYosCMUElLz4kdui7r0Hmc7d3nY6IQPJXaSOP1GR4Nr/NbRLsdVRp6ETxkKt4Xn7Y/ CV8VNUcoTl0h56JNLpXJk8cMLo53l2QqaL4mp++/Z19mI9SEM2XIhOiLHhWBXQL9hm5ela qFaK4QsaSBZmszL2sQE2gWpZ5oSSVV4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 3EE9EA4A8B5; Wed, 16 Apr 2025 04:20:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C7CBC4CEEC; Wed, 16 Apr 2025 04:26:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744777567; bh=/j1OS/uEyNfmo61ogba2AmbAcqgkLIe4DTdICsLDGto=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IeZLjGNsZfaOR/wNb2zAJnAqECgTLd2+KnQHaoi8xm0hsVdUPDBz9KXeof/8T4t39 QgBFbvKAzuR17LCpb9dl/GEhIYZ98yXKdAbbYnUNMWDavvk/S12W2L5elH4FQKeYgB 9kXfLVLVvK9vmZuACGdRVR6u7afZxS6LLfatM1QtIam65SxWxQ2nRzo/lf46a/fWkD tm5bO23Q8EG3qSfwE3BCfJ4/QTEldcyPXUPhiBeBJTv9hINwya8nXoeyN3tETOPskn hJA7vw23dpe4AtheuhepzJkmC+iO2RqF4RU0NDflb49ybjmkaU5Q39l3bFcLDnhfYI le04l8PTI58YQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Ze Zuo , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 10/10] Docs/ABI/damon: document addr_unit file Date: Tue, 15 Apr 2025 21:25:51 -0700 Message-Id: <20250416042551.158131-11-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250416042551.158131-1-sj@kernel.org> References: <20250416042551.158131-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: s6e6qtt19n5ups8jc33zbynu1w3xa8gf X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: C4D4214000B X-Rspam-User: X-HE-Tag: 1744777567-93087 X-HE-Meta: U2FsdGVkX19j/3ZLreJoxZC3m5KqElT/L1OtTHfa9jOfwPdZWKWi14806YYnZYiw+GSGdMFMVAGr2n06gRNd0uTAXGHrQSvin9dshF/f6la8jdQ7BEx3ZwshLRx1L8lN+EowbWioTwG8jptY7tQqq4SJaAbY6mCK9FFXBxQ9le1MAJ/o553LHuLx+gSeH20/nI73ZrJfPH9ujDMKTbQCmRcT1YNZAwgeNnsMiQfokZEgZ1pkLftRoP2xYt7oigELcAN7tP2yIx2XMzWuA3PpijJSgduFOSMaHFWFKUI5DzDm73uoyKUx48Iw+drF6bFqIJI2ZpgHJpqq1yqFiqXPNcqvDEGmnzk7zYI3Z2/MwdwVxGHos5cSDx/bJbl+n8dJ5+4pJMGVnH8lX4oG0EMrbl49LcRdIhFTc7NCe3Cf6N17mTE+1HoZkHGoWeW3RHTD+kd3/sBIviVVxvMAOuP/TwC7QhDPFDe6zTjrJ4xPHZ6fz8Z8Vurncn3HWgpXAoJcK3M0or4uMSbg58lEc285JtztCi+P13PPdBsmhKpwLFd0EJ/8I23Io7xpW1lz1m5fFIM2Q3UuQMgXR1MSg615gw5mWfYcskTcU0joaz4XPkXdL2DiOyzCqevJFjVBcBUn9JiRc0MdGapXWV6GZ8cSBGVYKUUCh5yAjHv0xn6VnzLYKG047jUYD4YLQjvhCkUVeQTTdIqjWcDhKtT586kBAUGwjaVA7Yn7feZrvgCe41bn9wTHsEj8HuvqjXB6ITHxx4Wr+D1bZ4p0+nKGuUr6KTIQ3f8ogqEVjR72jlexosTEvUvSPF2sfjY0Wjc8KDm6uPaYP4X8kEO5SN9wG0Y5fS1xVWupqZ/c1HZqxgZwrNEawlh0NDwr+kyDABKq8Pd7/qz3EQJ+42XcqLQ2uuFUh6ZJ0mOs7wQH2hzuktQQYekez8vyXCD5iffyB2HiEW8XnyAcvTy+KAiusQ0HwDJ p+w5sWFD IDwJhxfvt2JzXpTy3oEkOY7uX4ucsQYLQNxiVueuDWEwAGHm2O9Fj1a5Xwvbon+RN/Yp21QX+vr81k2ZJghGIu6TiwAukapRpt/8P/HtDXPjrJdr/KqEzw88l8WKTF0cD2+cb1L6sJNSiQdlE3Ac55Q2iL2eA0LQKWvO5vivxP2vNpfxti5mgjO5W+CLAXpa+tcJZhN4a6VGU6qBWcQdezSdktg5MFvM2SavtyfPfjLe5FjS26kesxdnrjBeNkTJ9a9yWrLrZweAqxYA01QwWoMIg2Q== 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: Document addr_unit DAMON sysfs file on DAMON ABI document. Signed-off-by: SeongJae Park --- Documentation/ABI/testing/sysfs-kernel-mm-damon | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon index 293197f180ad..40b7735f57d5 100644 --- a/Documentation/ABI/testing/sysfs-kernel-mm-damon +++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon @@ -70,6 +70,13 @@ Description: Writing a keyword for a monitoring operations set ('vaddr' for Note that only the operations sets that listed in 'avail_operations' file are valid inputs. +What: /sys/kernel/mm/damon/admin/kdamonds//contexts//addr_unit +Date: Apr 2025 +Contact: SeongJae Park +Description: Writing an integer to this file sets the 'address unit' + parameter of the given operations set of the context. Reading + the file returns the last-written 'address unit' value. + What: /sys/kernel/mm/damon/admin/kdamonds//contexts//monitoring_attrs/intervals/sample_us Date: Mar 2022 Contact: SeongJae Park