From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BE108CD11C2 for ; Fri, 5 Apr 2024 19:19:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 198E76B0082; Fri, 5 Apr 2024 15:19:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 148F36B0085; Fri, 5 Apr 2024 15:19:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F2B876B0087; Fri, 5 Apr 2024 15:19:13 -0400 (EDT) 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 D476F6B0082 for ; Fri, 5 Apr 2024 15:19:13 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5689CC128C for ; Fri, 5 Apr 2024 19:19:13 +0000 (UTC) X-FDA: 81976441386.16.52CE49C Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf15.hostedemail.com (Postfix) with ESMTP id 9EAD6A0008 for ; Fri, 5 Apr 2024 19:19:11 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=NwAXZirt; spf=pass (imf15.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=1712344751; 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=wkgEMPwpm+gwe7ZtYJnJ9zZuyuP9+4YAfx53dKyG11c=; b=sqAGQX+A2ZvDPrxS+Fp9Bf0cAKr+r7CsCSuFTG8EGTnVcgZZ6ntF29eV/U2QhLbzv7hCS3 JZTCWGvMe9aALPcrJvO6YJCKgoDqwjvXDg/LpnmJqVhsKm/gTWbM/Cq69/pWdvOjPdmtUF QhSmmy5mKfCPAaIx7UKuxctDBIxTPyQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712344751; a=rsa-sha256; cv=none; b=FQlY1K85xELJbuSOFJb5l7O8mMrLjXkdc15/xGpCBew4ZrAhCmRRIQlqU7RyNXlhwtMyD8 S91MeUZNNB4KVnpqpjdhUkVaV6gTFjnQaxIAKBauvQkxCXu9B8hNPHrNPGBT7yj9vzLqHA cS7Pf5560DoMy4GBwGyHYMQj1XZAFjI= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=NwAXZirt; spf=pass (imf15.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 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 4E18561937; Fri, 5 Apr 2024 19:19:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77358C433F1; Fri, 5 Apr 2024 19:19:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712344750; bh=YZzETK3dGt+U2zTRZF8z8a/1QYwhigjIioNvAPSyom4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NwAXZirtowUqs2wpxl/ix1iXRnZBLFIVr+07JWCgEVAv3TbNHnYTCoV+eVyPgmn8S ZXORJb2PdZLdlwvLI/Mw8oc6F2/pc9KqCc6aogOExTM+WRmTPnXrv0fNjtOVYNAJC5 zgEi0VG8WP1AqJM1xtCZRdylDe1nyh4mMkQ7HygJ0dAC3oKej0YRZJQGM51gs8JSIT yS5xHTDFuHnJKBg3TA8+xJUj6NBKzg69LexnYTvZ0LN9XI2Dv1dca11lzgFkFtBQ/B c06QxeB7AtDRBJgoKb2ObPajCgU9rKreXnvvfy5ogX2gvExHLlYUHp9DLwF/nQllDU zQm7gpW0ml+JQ== From: SeongJae Park To: Honggyu Kim Cc: SeongJae Park , damon@lists.linux.dev, linux-mm@kvack.org, akpm@linux-foundation.org, apopple@nvidia.com, baolin.wang@linux.alibaba.com, dave.jiang@intel.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: Re: [RFC PATCH v3 1/7] mm/damon/paddr: refactor DAMOS_PAGEOUT with migration_mode Date: Fri, 5 Apr 2024 12:19:07 -0700 Message-Id: <20240405191907.66958-1-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240405060858.2818-2-honggyu.kim@sk.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 9EAD6A0008 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: wfi9z1dtq4wsuut4yf9wsym83rddmy4t X-HE-Tag: 1712344751-857187 X-HE-Meta: U2FsdGVkX1+uRfmIFNh8iAwdYemL1AxCv8r7Exn6pqSTyWq8vLm/JJgqKOKb9r7p3EoVl16KkXEMzVHe0clzMFfRO2KQztlgZMVKXMV17Y9kpMDu3OcHipYuhrv1qSgLE0kEBQXznNftbJJQ8fW3IKzWPZcACkIqIv2UxzHWqTLxHTdwgGV3cCGeS5uqGoN7jlQ4miQmPIi2y10HQIs8X8gbcqJM2UbDCVv36k9OvevQrYsI4NZ4ZWChDoKLY30U47sALUkz5Ikqm7+h08dgQ8pVgK6HVu157XxZ/CA7yPTOhaAwL/IVZLTMYXAWv9JGCjaeZfidfDKQ7/5UPsFUOouCgkTSjHs5JfuuwQs/U0vzk34toA4N9G9peFZS7ADfAeITwWX5KY75dlkn8qcc/rgdk8tha8AObtN0XyTuT6hVh8F4dVG4YHXSwO7+CTCLN1ZE0+CSO10SHI6anrOzsR0C/7vNGQAaiV75AEdh535UC6tJIPGLF1v93DgsxwtU0Rt+a72sLnEfR+ho2DRlIqNkx5++GQUWSyHX5QCxvAjIPgWx0VEfgva2fo5TLs+7QD0c9n9dmla4QgNue12qmdLVSB1gH9e0wQDuOoQSASKQTrxW0+B/VMmEs0TqHPEmttM1WkWJpvCzEXdzhutH1mgoeLJB1TNIUErjN+hV8ZSp3YfGhCmRB695nYrHk8fq9/yoZtbgp3XW5wtiva29Tp8qJ75KWAzMK0b7Bl5xJHGU7bn5abxiybmrpe1dwNL9HF/Dx1SaRFS3yaDj4YG9XU90Y2KPV8W/0h63Rd/9+wxjAYCgqqprlKqBcFnw3ffoRpGcDYNpCqNRXiP5mmvS8zHiLZU+kg5008WKYoK17F2zakjMnsJ/ILaQragcckgc0lp4mIAsSjwJs0fyN7Os289zt1RhHJwbI1Z0tNptEtX2yNObVhcQOtsc24Tc+43MIz6q6biF3MdiEfPN2Qc 4ConuQe/ PkU/xZgWIBfTmpy6FUWRegX3tA3avcn7ORGYK13/9N+FrVkq3wnWb4AyQ5uL8ifYRffscne+ei13XAy/I0isah3MXGsZibTILDkYVULgV099E3JqrycfNKjUsR4sf+GVK3vQfm0Gcl1Di3mg6i3xeGuaijHVFkiDsOsJYQDJ36KT41zAUGNvzBdLuSrS5ZXYLBaOkdMa3Xnad+EY8R4RIvZ2zw6c2ntEuk6FATnVjg5qsClIG6G+vyxfbjCtZMREzvIGCIXyI1pFSlyCchYhJM1wUOhn3NQhVnVKaAg6KOy31wzOiojUjqRPutKCmRIrUwUkos0QG4xqFfqmJSUCyRZFuhnGOi67HYRGlnIA8iCwWeGs= 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: On Fri, 5 Apr 2024 15:08:50 +0900 Honggyu Kim wrote: > 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. I personally think keeping damon_pa_pageout() as is and adding a new function (damon_pa_migrate()) with some duplicated code is also ok, but this approach also looks fine to me. So I have no strong opinion here, but just letting you know I would have no objection at both approaches. > > 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, > +}; To avoid name conflicts, what about renaming to 'damos_migration_mode' and 'DAMOS_MIG_PAGEOUT'? > + > +static unsigned long damon_pa_migrate(struct damon_region *r, struct damos *s, > + enum migration_mode mm) My poor brain has a bit confused with the name. What about calling it 'mode'? > { > 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: > -- > 2.34.1 Thanks, SJ