From patchwork Thu Mar 6 17:59:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14005071 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 2BA9AC282DE for ; Thu, 6 Mar 2025 17:59:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35507280010; Thu, 6 Mar 2025 12:59:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B78E28000E; Thu, 6 Mar 2025 12:59:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 157B1280010; Thu, 6 Mar 2025 12:59:44 -0500 (EST) 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 E9D4928000E for ; Thu, 6 Mar 2025 12:59:43 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id AA29082367 for ; Thu, 6 Mar 2025 17:59:43 +0000 (UTC) X-FDA: 83191889046.10.3EB4D7C Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf14.hostedemail.com (Postfix) with ESMTP id 933FD100010 for ; Thu, 6 Mar 2025 17:59:30 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Sk3x0+u4; spf=pass (imf14.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1741283970; 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=Ob4PcuTI01YyMkQZ7JYOhWiahdbH8Wl4NUrcz0Wut9U=; b=Op/ISnfd70CHQSxRESgjOdlW9JYqUuGA14KVImT0V2yJHRfKTaHAla4qQQgzDxlrcUP6x4 fWFYOtGdz0vU6bingEtNXxuEDR9XL72XvyIKgPIP5v17RHgnu+t96dibtap3lkmp+BKaeP inNxDJPnZPlA29shZDme+Nbn8dQYLeU= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Sk3x0+u4; spf=pass (imf14.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1741283970; a=rsa-sha256; cv=none; b=yCV2SIV0nE9fjYEtw4z+WgoBuXv2WPJoFAMTx+uIWu64kL7TqwyojHOu88chXIjlou13Gh o3g5X27NX8t67uw+PtCzlkn9c7bjaq9Q0vj/z4uzJsU6R1UpZXQ74Ro2O3hjfVoFJUebad 8NSPO3I897nQFRt7h3UwyPmgkZiGv1k= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 0E3545C5800; Thu, 6 Mar 2025 17:57:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FAEAC4CEE8; Thu, 6 Mar 2025 17:59:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741283969; bh=QHuacpUAdZsjxvC6RVrkNf1AvYwnsyKAd7KvFaeWUTk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Sk3x0+u4ZcspuwW/TvqCwEpHahJE8ZVI25fbwQsbquSG42WFrMto0jBxMQxX0igvi 1jZHAa8jDMwg3U60RsOYxGmdAo7yFx9Y7f5NBx+WMFILCvhl/WgabpvPfI+KY9PZiT dA7wyZ6xfhjD6x3JJg8n643rVm26DxgS+xtQnBwYLRHCSdYSTloha9kmSxomVWg54x Q19q6sw4KIw4dKyoLqU94Gp9mEVkAieXW6kKFgIn1Gk+EFmk2t8sTH7w5GThOTqkgr BkiaP/5lOMx9kAq8uwLj8LUWn43Nl3RcV28Rc0VN1jW4R5LDkNlQkHR0T6oyJo8L6Z NajMWp8fAR+UQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 12/13] mm/damon: remove damon_callback->before_damos_apply Date: Thu, 6 Mar 2025 09:59:07 -0800 Message-Id: <20250306175908.66300-13-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250306175908.66300-1-sj@kernel.org> References: <20250306175908.66300-1-sj@kernel.org> MIME-Version: 1.0 X-Stat-Signature: 6yuehacqpu1jntaq67bu5uus1ptrsbap X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 933FD100010 X-Rspam-User: X-HE-Tag: 1741283970-379654 X-HE-Meta: U2FsdGVkX1+iK8aut6ob1CA2SlpM+WlLmCrbkkAjS5LvR8UQOJCmtBMR/N55Sx/bN9AkXtzKssZ0c1mCfngKgpNyVeHixq7bLFQHUE6A05dvEFS72adARlP+NY4C/8bFio4WfrfYLlGpymPwGOFkzaNNXuXsbb/F87CSmv3gtpgTx3JLElbyrYjncvxUoNaGHh0NaW5KULleC4k+aMqpLIx86X18WcSNohjLvi81pSpPF7Ok7YLcPOhBIsNTONN4G8Xl8OGhjXogtYR7W1lWeomgQO0i1+PoYQ0QFOIb+WvRtFFCHo+Fn8l/8kapGG3BXWTI4Z1UjcCSy2rWB0UtuMpDNfPCN35A00qZDDDrRp1n9w6bPwaxCiX6okcv3XaqUh69ItvCiDrBZHUeCwDbwuCjpVTeRPeSVOK/v3zcWeCJFfx/J1CT1TeGb3KtGHCxN0dKfR7UpVo/HYH0W6DI7Lmhgux/ESKVM0kIq2rzUj1zQCS9KRUM+g4z9zEljSwoTN8mDe9FmGXJS9PfvmNCOS6VkKLZM8cyBTH84gNd+eyMTlth+TfCZcOXBjIosDRwjWpOEW56gavfE42+lR9xJRLps7rPJNUnBGGOJb7teR5YwVhfDhp5QNd9O7JCkS3iNEs2QY9duFbgnemUGdNjFiA86Jpd+J8N8cvLHkJw5abnlYqvgjNs8IMs5n7fkBt4Di4SCNs1wqgnM530vQQ/HUsUxzR8waZjwBoJWBNMq5S1M4DeZQcxqaHY2QzqhwWQxHdA8MIME90vv2HuBxsKmciIt9BXnPX7p+lXBaabVM+nAFi/0xgt/Zc+SfcatOiRsRdUTeNMtTE1qknACqHDa3GWFWQ7S75FsejHIntTDZ5NY7x4yohs5j3FCtZjHX05hSO+iZD07KzavTNV5jTo2kLweE5aThkJS4i8IFZM5BomiHqbcwJaw64R4oYZ5MEMCiBYY6IRmvVpYrfBrc3 UHflPNup RrPQydjqM51RJRBrzSdgJrDjbj0J2QG4TaSymffKdrkKnyPMskcW0TV/0xmKO5maLasfNwzPLfTn+yZlCyJS1Yrb4xRBIuQel4WlsWzyOdfibHb5YygyKDC+OQBYh49Kargoe49E14lVylDLdRH1dpPXmjjS+aQtiqWQEzi6Mj9uPrp+V84SXEgvojTfm68rGZKDquWAtFlI7VU0wpELWgprfWszrg+HKWrJOtfKgKg16v+VHBR1vslFscPAc3X6LdJZfGVLUehOEmtL/En+bNlJIzA== 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: The hook was introduced to let DAMON kernel API users access DAMOS schemes-eligible regions in a safe way. Now it is no more used by anyone, and the functionality is provided in a better way by damos_walk(). Remove it. Signed-off-by: SeongJae Park --- include/linux/damon.h | 5 ----- mm/damon/core.c | 13 ++++--------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/include/linux/damon.h b/include/linux/damon.h index 5aa277f4c948..be7b281fb922 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -605,7 +605,6 @@ struct damon_operations { * * @after_wmarks_check: Called after each schemes' watermarks check. * @after_aggregation: Called after each aggregation. - * @before_damos_apply: Called before applying DAMOS action. * @before_terminate: Called before terminating the monitoring. * * The monitoring thread (&damon_ctx.kdamond) calls @before_terminate just @@ -626,10 +625,6 @@ struct damon_operations { struct damon_callback { int (*after_wmarks_check)(struct damon_ctx *context); int (*after_aggregation)(struct damon_ctx *context); - int (*before_damos_apply)(struct damon_ctx *context, - struct damon_target *target, - struct damon_region *region, - struct damos *scheme); void (*before_terminate)(struct damon_ctx *context); }; diff --git a/mm/damon/core.c b/mm/damon/core.c index 726e581904e5..d6271fae4dd4 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -1731,7 +1731,6 @@ static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t, struct timespec64 begin, end; unsigned long sz_applied = 0; unsigned long sz_ops_filter_passed = 0; - int err = 0; /* * We plan to support multiple context per kdamond, as DAMON sysfs * implies with 'nr_contexts' file. Nevertheless, only single context @@ -1771,14 +1770,10 @@ static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t, if (damos_filter_out(c, t, r, s)) return; ktime_get_coarse_ts64(&begin); - if (c->callback.before_damos_apply) - err = c->callback.before_damos_apply(c, t, r, s); - if (!err) { - trace_damos_before_apply(cidx, sidx, tidx, r, - damon_nr_regions(t), do_trace); - sz_applied = c->ops.apply_scheme(c, t, r, s, - &sz_ops_filter_passed); - } + trace_damos_before_apply(cidx, sidx, tidx, r, + damon_nr_regions(t), do_trace); + sz_applied = c->ops.apply_scheme(c, t, r, s, + &sz_ops_filter_passed); damos_walk_call_walk(c, t, r, s, sz_ops_filter_passed); ktime_get_coarse_ts64(&end); quota->total_charged_ns += timespec64_to_ns(&end) -