From patchwork Fri Apr 5 06:08:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Honggyu Kim X-Patchwork-Id: 13618573 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 7239CCD11C2 for ; Fri, 5 Apr 2024 06:24:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0B6886B00AA; Fri, 5 Apr 2024 02:24:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 03C6D6B00AB; Fri, 5 Apr 2024 02:24:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DF9B96B00AE; Fri, 5 Apr 2024 02:24:22 -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 C525F6B00AA for ; Fri, 5 Apr 2024 02:24:22 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 6433C160941 for ; Fri, 5 Apr 2024 06:24:22 +0000 (UTC) X-FDA: 81974488764.29.5B541EF Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf23.hostedemail.com (Postfix) with ESMTP id 58A66140011 for ; Fri, 5 Apr 2024 06:24:20 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=none; spf=pass (imf23.hostedemail.com: domain of honggyu.kim@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=honggyu.kim@sk.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712298260; 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; bh=Y9OC4YXYFjc+2FMc0Wyr+afdOtmeZZzGlGXJ/Mb/OPk=; b=fJTgaR1PxI14PUR574fJ8FHpCu8HA+9lxT9qaVOkB6Arlyz4HNwaLDzgigV6LUBH7DOMjs WYvUcbypgx5rsdBd/A5n/hVpDQ5Y9mNabUSk0qR2RCsKxKwiSReZunRjQtKrpMsAEwCLkW bvi7P1BlnHUweiAViqYG4UZfPkjH/kQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712298260; a=rsa-sha256; cv=none; b=lMayIrjyKU02CcBoNlyjvpLwSJleJDa2KscwauHPptWd2rQjjbNn4Gpn6PnNb9jcp/QMRS Il44t98oB2eKdmQP4eyvPEHczs7Jjp42c4RwLL7DEYpvPRsOIFPsBXGLr7mQeW2R/vTTxl eIyGZi0+N6rh77vp6XWckdulfWdfLOQ= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=none; spf=pass (imf23.hostedemail.com: domain of honggyu.kim@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=honggyu.kim@sk.com; dmarc=none X-AuditID: a67dfc5b-d6dff70000001748-86-660f957f95fe From: Honggyu Kim To: sj@kernel.org, damon@lists.linux.dev, linux-mm@kvack.org Cc: akpm@linux-foundation.org, apopple@nvidia.com, baolin.wang@linux.alibaba.com, dave.jiang@intel.com, honggyu.kim@sk.com, hyeongtak.ji@sk.com, kernel_team@skhynix.com, linmiaohe@huawei.com, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, mathieu.desnoyers@efficios.com, mhiramat@kernel.org, rakie.kim@sk.com, rostedt@goodmis.org, surenb@google.com, yangx.jy@fujitsu.com, ying.huang@intel.com, ziy@nvidia.com, 42.hyeyoo@gmail.com, art.jeongseob@gmail.com Subject: [RFC PATCH v3 1/7] mm/damon/paddr: refactor DAMOS_PAGEOUT with migration_mode Date: Fri, 5 Apr 2024 15:08:50 +0900 Message-ID: <20240405060858.2818-2-honggyu.kim@sk.com> X-Mailer: git-send-email 2.43.0.windows.1 In-Reply-To: <20240405060858.2818-1-honggyu.kim@sk.com> References: <20240405060858.2818-1-honggyu.kim@sk.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrMIsWRmVeSWpSXmKPExsXC9ZZnkW79VP40g0kXlS0m9hhYzFm/hs1i 140Qi/sPXrNb/N97jNHiyf/frBYnbjayWXR+X8picXnXHDaLe2v+s1ocWX+WxWLz2TPMFouX q1ns63jAZHH46xsmi8mXFrBZvJhyhtHi5KzJLBazj95jdxD2WHr6DZvHhiYgsXPWXXaPln23 2D0WbCr1aDnyltVj8Z6XTB6bVnWyeWz6NInd48SM3yweOx9aerzYPJPRo7f5HZvH501yAXxR XDYpqTmZZalF+nYJXBlzGjYwF7TwVsz7sYatgfEKVxcjJ4eEgIlE94t9jF2MHGD27WdaIGE2 ATWJKy8nMYGERQQcJFZ9Vehi5OJgFvjPLHG59xcrSI2wQJhE0/JXYDaLgKrE2n13WUBsXgEz if1HXzJBjNeUeLz9JzuIzSlgLjHv8QYwWwio5tPBY+wQ9YISJ2c+AetlFpCXaN46mxlkmYTA KXaJzzua2SAGSUocXHGDZQIj/ywkPbOQ9CxgZFrFKJSZV5abmJljopdRmZdZoZecn7uJERh1 y2r/RO9g/HQh+BCjAAejEg+vx1y+NCHWxLLiytxDjBIczEoivN0OvGlCvCmJlVWpRfnxRaU5 qcWHGKU5WJTEeY2+lacICaQnlqRmp6YWpBbBZJk4OKUaGNme7eV0WT0z7nfAmw2pXAvTP8Vu CT4TmjfVRrQ3T+R5eFryrkTPFsOtAtE8t7+/Yj03c8H2Q6wzjf+pZ6o/VkgyuF7yM2rhmy1b nUv8Wh6n3f9UEZi6mF3/9bF/M1xeJAQynvCJ810UGajY/y5m/ecPG1MkW1YeSlYRtf3w4TaP +yKRSfa2k5VYijMSDbWYi4oTASXCDe+2AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprLIsWRmVeSWpSXmKPExsXCNUNLT7d+Kn+awd2dohYTewws5qxfw2ax 60aIxf0Hr9kt/u89xmjx5P9vVosTNxvZLD4/e81s0fnkO6PF4bknWS06vy9lsbi8aw6bxb01 /1ktjqw/y2Kx+ewZZovFy9UsDl17zmqxr+MBk8Xhr2+YLCZfWsBm8WLKGUaLk7Mms1jMPnqP 3UHcY+npN2weG5qAxM5Zd9k9WvbdYvdYsKnUo+XIW1aPxXteMnlsWtXJ5rHp0yR2jxMzfrN4 7Hxo6fFi80xGj97md2we3257eCx+8YHJ4/MmuQCBKC6blNSczLLUIn27BK6MOQ0bmAtaeCvm /VjD1sB4hauLkYNDQsBE4vYzrS5GTg42ATWJKy8nMYGERQQcJFZ9Vehi5OJgFvjPLHG59xcr SI2wQJhE0/JXYDaLgKrE2n13WUBsXgEzif1HXzKB2BICmhKPt/9kB7E5Bcwl5j3eAGYLAdV8 OniMHaJeUOLkzCdgvcwC8hLNW2czT2DkmYUkNQtJagEj0ypGkcy8stzEzBxTveLsjMq8zAq9 5PzcTYzASFtW+2fiDsYvl90PMQpwMCrx8HrM5UsTYk0sK67MPcQowcGsJMLb7cCbJsSbklhZ lVqUH19UmpNafIhRmoNFSZzXKzw1QUggPbEkNTs1tSC1CCbLxMEp1cC4e7Y008H3Puvn802q KLBwYKqy+vuxWH3tMi73NL1wTbvn/h7l23ofn17MY7ciq/dfWHvN5Ztz96c+j6jVe141oa7V TanTctfMV50q3bOyr9jJ3JUvuflup6jOxUVSO+1jJnOFVwrx3fBly9J+/6hNOyshcXX1WYkp R14Y7LGYEbY0iJU/r1qJpTgj0VCLuag4EQAvLqFpsAIAAA== X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 58A66140011 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: ecc8y3oseq1mbfcrrnqmrtizek8xzwrt X-HE-Tag: 1712298260-392410 X-HE-Meta: U2FsdGVkX1+c6XBwR/LVfE/DMW+Dg4XPPgPTJYLDZ3vmtOyHJibwzEesMPWPcDSKcDpthfWy0mHmMsFptDKnxsgE++be0s8DtpMW2mXWA3YLWo0nbCVQg7SYAF6DncZsrTxmweBGcy9Mj692ltvhJfGDKjQTRU1SSRcff/ZMhLRocEp6752prA34bG9NpP9pFXJS5f3YQrfz0aq8j28CtEsRuCoGNhngTyGt6Zghf4b4gJy1HGk5ExksgrC5W7Ewo2O74OadHrkcoXI0A60MLSD3MwPE+vfgpeBpwlMMS2gvjS8JJYCtiwdceIrEEMr1tFpRoXqh5C5M2uBu8xwH41Qqxu2MIyV+OLhbEPH4jakaWtZ1SkgCqEozGfp0JuO6Q9EKMSJvmwAX4D6q9lO2bYavgLgROHE/DZo9uPGSGahu35m+gBwZfsUyKP7rmZZXabnP6pASCE/haFUgkEHK3JSHImHQcBVQfno8mNOFlpbSgxnbrHweY7CE9c7DRzojzj2QL2h28rzyAgPmvKwLjXEtjDAP+RTvj+vs3Oyq3M4z7mdmZ9YZDbR4cz3mZZFdpjcr/e3KiBb3yJ5rNDSmHiVLFYVxP9A+aKSBHsRFRFz+UU/ufp5LFxXPRPGZZ5EsP1zt8fM5V2pc3tcfHW3XBRUM5h07jSP0Cw6vnoKMu41iqZkm+hM3XYLZJWOvYNdLLF8u1kdezDxGExwVkhwkcm08lFqhCiQvKa1f/KUfn61EZJOgDHOUM6OBqhn86Br7J2hJED6O02t0bWxhGME1iYDzCEn1ZkZ0v/MKTtNQoBF0kssLhihulVzKhY6mPUJCnCVPGOFfFbsshd/t34ilxpW1IKltuWl1tomZKr3GSxDcFuePUstEFih1wqiLCoMFeBj+EEvyBQMkLxxDPkZGiwVyZSLHnbF25QrTzwhCGxVZIcca01l1q0s6Rf81vl+y8vkFihGZrbkjFTXva/Q Vz/Rvcci LsVAwOgBfMWrDbbJ59gFeoKXkOVXeLLx/34Ya3pN3Ka+Cl9F/GELs/Ylvr+IWhs6VE0dAvkirPaxr+Wgdltd38FWR42NWCAi1R70dlLpMzRnABZnOIOJ+M01fIW6gSVoAwlISzdIZboMuAVSC7+Q8WRyqNA== 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: This is a preparation patch that introduces migration modes. The damon_pa_pageout is renamed to damon_pa_migrate and it receives an extra argument for migration_mode. No functional changes applied. Signed-off-by: Honggyu Kim --- mm/damon/paddr.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 081e2a325778..277a1c4d833c 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -224,7 +224,12 @@ static bool damos_pa_filter_out(struct damos *scheme, struct folio *folio) return false; } -static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s) +enum migration_mode { + MIG_PAGEOUT, +}; + +static unsigned long damon_pa_migrate(struct damon_region *r, struct damos *s, + enum migration_mode mm) { unsigned long addr, applied; LIST_HEAD(folio_list); @@ -249,7 +254,14 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s) put_folio: folio_put(folio); } - applied = reclaim_pages(&folio_list); + switch (mm) { + case MIG_PAGEOUT: + applied = reclaim_pages(&folio_list); + break; + default: + /* Unexpected migration mode. */ + return 0; + } cond_resched(); return applied * PAGE_SIZE; } @@ -297,7 +309,7 @@ static unsigned long damon_pa_apply_scheme(struct damon_ctx *ctx, { switch (scheme->action) { case DAMOS_PAGEOUT: - return damon_pa_pageout(r, scheme); + return damon_pa_migrate(r, scheme, MIG_PAGEOUT); case DAMOS_LRU_PRIO: return damon_pa_mark_accessed(r, scheme); case DAMOS_LRU_DEPRIO: