From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D1B138DC40; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328076; cv=none; b=DczHOmoJINCm0AroKgQExON844uPmFO0BUVghr3WskGShMT9d5tdpF7Hy4fg5R2weXckZZNxGrr/9twRyddKl54JBVnfVNRewvmPxvT5tZoQmgtBcluNwVrfnF2SVdq2sL2BLL8As60h9hvtiZk41KinHckE0e9La79vxwqKxLU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328076; c=relaxed/simple; bh=E1xko7J+f0WtN0JX+Y4hXZPSs8hzOzgCXjVT2yeQb64=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nzpVzwcOjoX8oD+hf3bOqYKoKl40RauEUg0Ceg8ZLm6fJaNbzBND537AFEWCBD74rZddCdWKcjubcnDMzO3/fZtOLdjqnhfcnJrP20QhjOZoUtUWHE7WTDkD2OuPjd9sh+RylnDbevynnUe8BffdpcWaHPhil5Vgy9J1JzUS5rU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oEm8c7hM; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oEm8c7hM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AF29C1F00A3A; Wed, 2 Sep 2026 05:47:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328074; bh=Yo9QjrgTWYiC6GWBBDQBEXVvC3vOUMrhoR21RBzshVk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=oEm8c7hMoRPz9m9rjweoXDQRDxabJ+dkCpT+zUrhyK1lIccNeAKHx7wjLe/W6stDq VOqEAbtXSKBwR0VKJqrbw+7wMnUlqNhixI9b3tTnhhEqGH/uDvhy/i8P0vBK0OUxty Hy66xld6YZShV+HPP0SWUsX5GYnHUdRCEcVf8zTiaDKJSk2q3tMDXjGUTEKWVMxH7A miszvuJ/FaQbOsnd860+/o2ej7TMeuMDv436icsfXQ6PglfqnGw0h9gZMi2fLYyoRA DORXNCz849FE1La8Drz8IvJh0aA5ZLLnvEORvITEcl+LgLXF/FhJyM5Eikys+pL1Fb 0mIuOv38Q8P2Q== From: SJ Park To: Andrew Morton Cc: SJ Park , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 01/12] mm/damon/core: use damon_nr_samples_per_aggr() for max merge threshold Date: Tue, 1 Sep 2026 22:47:34 -0700 Message-ID: <20260902054747.99370-2-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" kdamond_merge_regions() open-codes max region merge threshold calculation. What it does is fundamentally the same as damon_nr_samples_per_aggr() but missing a few corner cases. The unhandled corner cases should be rare and make only a negligible level of monitoring results degradation. But having the inconsistency could increase future maintenance burden. Use the dedicated function. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- mm/damon/core.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index f748acd6bbd5b..846da6df5b552 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -3509,8 +3509,7 @@ static void kdamond_merge_regions(struct damon_ctx *c= , unsigned int threshold, unsigned int max_thres; bool count_age =3D true; =20 - max_thres =3D c->attrs.aggr_interval / - (c->attrs.sample_interval ? c->attrs.sample_interval : 1); + max_thres =3D damon_nr_samples_per_aggr(&c->attrs); while (true) { nr_regions =3D 0; damon_for_each_target(t, c) { --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACEBC38DC48; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; cv=none; b=gTcA3T9vvVeTzpHEiEhppBoPmoGtdaNPEx4S6TDWojXIphxRg9AO1DGDOzFwP+BwJrhRAHsG76ipE3efbqs1B6y1lo8W4Vkg+SiBPmbc6wZFa/juWQX0RYO3ZcaBcg7ucBFDeOqv7pDjzMtO+4Igg2B45MMSYOc1nJDTf/Qsy2E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; c=relaxed/simple; bh=pwc6SSo0ilnNo7kmgrv0lqdGhpT5cL23cxEOjLyIPpA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Gw/zYkAn9S/yYXmGOSSllvWoAT5lp06PRGve+nNKHa/KicDtT5IqL7u/1s5MEYX2FkarXDrwG+4Ek5jbuds17G9coUhnhoK7hFB8Ah/xvsitemTD5O6vEFNcTdAFAkmiY/U+GeGl8zTE5x/JnoW3bvN9aXIw2BpQVis6Criyw2A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=E5MjcTJw; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="E5MjcTJw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 080841F00A3D; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328075; bh=Yu+kT4VU1Q3i6GWtmiuhnaqb1nzKb+1ULapfSNKwafk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=E5MjcTJwwhXNehqyFOOBR5dL59vQgGiEePFKoIM3UBF501RxMgTX2frXPSBmDnsRt JxaGVX44e6bMgyMMjtZPq1IZGPJoH/rfodeniXcXTM6iKFGCk6+TeT8rcnBt/Mf2Wi 2NZxQWYuwGxEmRNHT6sbv+qiRz1zwn5bB0j1obRDCmxwZybwerjxoYJx59uv3JSQ1o DTWv5VKeulzi+NgJH392KdCLINF9B4zNWNXnMiib7YDxZsBkPFjQqLVrHaJgbF7U5I btdZBZAdMDNEi+lfowYsQRsrsERQWG3OtppWdH051vAbEblAHcQ9J5fBt8M6BdpiF4 MtvqJActMDYFQ== From: SJ Park To: Andrew Morton Cc: SJ Park , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 02/12] mm/damon/core: remove debug messages Date: Tue, 1 Sep 2026 22:47:35 -0700 Message-ID: <20260902054747.99370-3-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There are a few debug messages in DAMON core. Those have not really been used in a meaningful way for the last few years, though. Remove those. Signed-off-by: SJ Park --- mm/damon/core.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 846da6df5b552..4d28eb033fc4a 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -3732,10 +3732,6 @@ static unsigned long damos_wmark_wait_us(struct damo= s *scheme) =20 /* higher than high watermark or lower than low watermark */ if (metric > scheme->wmarks.high || scheme->wmarks.low > metric) { - if (scheme->wmarks.activated) - pr_debug("deactivate a scheme (%d) for %s wmark\n", - scheme->action, - str_high_low(metric > scheme->wmarks.high)); scheme->wmarks.activated =3D false; return scheme->wmarks.interval; } @@ -3745,8 +3741,6 @@ static unsigned long damos_wmark_wait_us(struct damos= *scheme) !scheme->wmarks.activated) return scheme->wmarks.interval; =20 - if (!scheme->wmarks.activated) - pr_debug("activate a scheme (%d)\n", scheme->action); scheme->wmarks.activated =3D true; return 0; } @@ -3889,8 +3883,6 @@ static int kdamond_fn(void *data) struct damon_ctx *ctx =3D data; unsigned long sz_limit =3D 0; =20 - pr_debug("kdamond (%d) starts\n", current->pid); - mutex_lock(&ctx->call_controls_lock); ctx->call_controls_obsolete =3D false; mutex_unlock(&ctx->call_controls_lock); @@ -4044,7 +4036,6 @@ static int kdamond_fn(void *data) mutex_unlock(&ctx->walk_control_lock); damos_walk_cancel(ctx); =20 - pr_debug("kdamond (%d) finishes\n", current->pid); mutex_lock(&ctx->kdamond_lock); ctx->kdamond =3D NULL; mutex_unlock(&ctx->kdamond_lock); --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 927F338DC46; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; cv=none; b=MIo0zluem8F5jW3HocQaf+/dzFg6X0GbHt2nP3b+AMmVe1fgtyTvIMZmrsYyyEmqHn2OB8/HObn0Kjj9YAYqk9pNQR32nBR3SWPyfhzx1jPgdyT+UsEpXvDiJMfmv3mFwlVO+c/BY304+eA6sZSGVYw34Hup1ikbPzvE4UTaqtk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; c=relaxed/simple; bh=hZcttovCR1StplimYTOK2AOhYDVwKc3kMn+Y2OQc55A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KmRaOy+RH3xgWwsLsK+v9VUDMAcmCtNu09bs4VuGOT9ufSUAzPQr9iCLDZ8hMZot/wQEMOXcmAqpFu7M1ZtoRytef7BVxKzFz9odT1t+2xcswmH0mfCJCSfqn11ivbmY3aLguxtceB054FAaxkmoOWaOXFZ8yASu85MtdCVyAd0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kUoiPmmq; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kUoiPmmq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54FD91F00A3F; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328075; bh=/2GY869qZ/WdOTeEodZMAmxRd6cUaT9eWkbGwKB6Io0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=kUoiPmmq03z/pb7EKGpCiPYdf45lsEaJSgpcEVNGLP7V9FyprLGvAUBD7xhy1y4Sw qoXrgWdYnlre3eDn2J4hryFgCgMUZczJj+sVEQB5XhAWABL0/gtqMKZ26RhAAOX+E8 5mZK6VGdSDUd5B3nrxq6+7YS74Kia36vMOGaAjY7UNGqVB3abzr28N9Hx0b1pYiH59 94pce2AY6l87qeXrKloejLqv8ilvg1jwU1HqXpmHLadZAVyxti8oC7nQ/Bdj38Oas9 LdStC6DskZNiKJsZhvkJJDxDAhZiVFEOhEYRbGRvlWariFc75TAlJxXpoaEgySQZ8M Ezrm9zfSFQKUQ== From: SJ Park To: Andrew Morton Cc: SJ Park , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 03/12] mm/damon/vaddr: remove a debug message Date: Tue, 1 Sep 2026 22:47:36 -0700 Message-ID: <20260902054747.99370-4-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There is a debug message in the DAMON virtual address space operation set. It has not really been used in a meaningful way for the last few years, though. Remove it. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- mm/damon/vaddr.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c index c8c32b2ae0402..f884d3f78f30a 100644 --- a/mm/damon/vaddr.c +++ b/mm/damon/vaddr.c @@ -189,22 +189,12 @@ static int damon_va_three_regions(struct damon_target= *t, * * */ -static void __damon_va_init_regions(struct damon_ctx *ctx, - struct damon_target *t) +static void __damon_va_init_regions(struct damon_target *t) { - struct damon_target *ti; struct damon_addr_range regions[3]; - int tidx =3D 0; =20 - if (damon_va_three_regions(t, regions)) { - damon_for_each_target(ti, ctx) { - if (ti =3D=3D t) - break; - tidx++; - } - pr_debug("Failed to get three regions of %dth target\n", tidx); + if (damon_va_three_regions(t, regions)) return; - } =20 damon_set_regions(t, regions, 3, DAMON_MIN_REGION_SZ); } @@ -217,7 +207,7 @@ static void damon_va_init(struct damon_ctx *ctx) damon_for_each_target(t, ctx) { /* the user may set the target regions as they want */ if (!damon_nr_regions(t)) - __damon_va_init_regions(ctx, t); + __damon_va_init_regions(t); } } =20 --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA64638DC5F; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; cv=none; b=F2dkD/e4e6fhPU3fUZ/+pa5HHnGIvNWPgPObpBEYH2EWpVjtkpy1gsDdlAo9f6E5g/rWaftzeWd54chFKXYr1Ak16sqEaaYDr1XZMbVmB+p7k1Le6ewpKSQtOzIE19Rb4wNyoM9ipATPJK8hLTXT3KQuQmHGrN4ps7hURaVuELE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; c=relaxed/simple; bh=Nvdizo8PsCsBXGtfZpWwiTQ5zJFcYq/b002rCuTt2RM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AEmd0EKCHGQlJVirI/NT/cs7Di1rrAveA8uHbzuL4S+BehBcObDovmGoACH4gFfdlBWs73iUHPayFGj9JHNS0hDF9LPfm5bV8yMtJ4PJMMuEzV3KQ2KP83g9LlX9LXwLGfXIMewEKrYRTfp9LHxecJSdk9zMH8nDY8O8Ohb3D9s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OaOrtRB3; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OaOrtRB3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A29401F00A3E; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328075; bh=KapXeO7OndJodgXvsAPTUdwLTA5ybEOS8WtNM8GGre0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OaOrtRB31+vdvxxaQTsVcdtksSf8AUVnGY2FQ1ubJilAVPbuppVruEKp/YmmPB1Lw +oEr8eQ/dJtc7TCCvA3rXvhnc/cWsS8UEsPNwFlQ6l/qoCIWnZQ3ZmJl0gG3dMglqN BfocpI59IRFjL4DyCB4CrWqtrDWYNWhDqQgGwXorFOKLIUHgvyj9Kv60UHD9emSOzE 4gjQkBncrHHdsT/V1ImAcw2RlxWVCP4SOLfiJOgFqDxkHnmKpGK3N8a3eyrGvgg4DR ZvuTyHdMvOblzcqAKbIn5wH9bZT/B9T2Q8LHB4YVnhtuyzv0iZPlE9YYIt/ezsFVSh pDf2isDehJetw== From: SJ Park To: Andrew Morton Cc: SJ Park , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 04/12] mm/damon/core: validate number of probes in valid_probe_params() Date: Tue, 1 Sep 2026 22:47:37 -0700 Message-ID: <20260902054747.99370-5-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Each DAMON context is allowed to have only up to DAMON_MAX_PROBES probes. The central place for validating DAMON probe parameters, damon_valid_probe_params(), is not validating the upper limit, though. Do the validation. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- mm/damon/core.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mm/damon/core.c b/mm/damon/core.c index 4d28eb033fc4a..c010f686d033e 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -1420,6 +1420,13 @@ static bool damon_valid_probe_params(struct damon_ct= x *ctx) unsigned char max_probe_hits; struct damon_probe *probe; unsigned int wsum, wsum_to_add; + int nr_probes; + + nr_probes =3D 0; + damon_for_each_probe(probe, ctx) + nr_probes++; + if (nr_probes > DAMON_MAX_PROBES) + return false; =20 if (!damon_has_probe_weights(ctx)) return true; --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9365438D686; Wed, 2 Sep 2026 05:47:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; cv=none; b=q0raR0GYEixYHRKjjlArWCpO+rbJVyO0WYDKrqyxYFKJUGu6ODYeFQ/y/Qv37KyCpzJ/qfQZRvUNFWn6B2ZAqa9t7Yb20Fyb3VD3XYYAe1E8TY7ak09F1mWlWW+NOuF/u5bNB3/dNnnZlcX5usX12D5SP/D6i7ORlYOKGh1ZhFw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328077; c=relaxed/simple; bh=tJ81LqCDpl5fr1uSBf5Rbm+l9ZSvjIXeCAoHO1HKka8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=e02XSbbOes4VeSIT2AD5uNMHL1EdNrWc60PakUejN9tNFwr1etNlH2uqR7jU5clCdRqXCsnZv462ftTF7lLt1ob5YZ2yl4Va+wtX1ectrBYldNX3/hoL4Xn2EJI6Qe36zUpukT7iHbW1zZhrkwWqlMlH5kIO8ZvDbVLOJm5NdWs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ksz/ymtj; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ksz/ymtj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 002AC1F00AC4; Wed, 2 Sep 2026 05:47:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328076; bh=I/Y67EhQFpjjEgQEnOWoPesL4POG7PDn7LCUxcCtOmM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ksz/ymtj5L/wmFgbbD7o9+SQyVMFyN5nQR5ZsxvxeJob4b+EGZptDEPduaWnIEzyc WYT72MsN0hIT3tGnKr/6CAkqNznbELWLOtwcuxAyFPup8ue3Rj5Lx2ZvL2+fijuJI+ 7O1PfMR/ie3XYAqefRFvh5pD74qymBvFIk15w9Z9mNXW5GpeWPlUWZQQvI9+0If4EI 2dZYE2M1w8whcZbsmry1LawYvHlhH86KhBwCWEIVii9zW5veuaKCd39MuqaaMYb1Tu igTFv7QyGRQS2rn276w9JJncAG9thvSuo72jglCO2/KYbkm0cEPLrbRkzQpM+n/XY8 EpAmuqmhw5qzA== From: SJ Park To: Andrew Morton Cc: SJ Park , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 05/12] mm/damon/sysfs: remove probes number validation Date: Tue, 1 Sep 2026 22:47:38 -0700 Message-ID: <20260902054747.99370-6-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" DAMON sysfs interface is disallowing >DAMON_MAX_PROBES nr_probes input, since DAMON_MAX_PROBES is the upper limit of probes per DAMON context. The core layer is validating the upper limit again, though. It is preferred to let DAMON API callers such as sysfs interface to set parameters in flexible ways, and do parameters validation in the core layer. Drop the duplicated validation in the sysfs interface. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- mm/damon/sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index 7ec14f48d157a..b576e97cbfdb8 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -1479,7 +1479,7 @@ static ssize_t nr_probes_store(struct kobject *kobj, =20 if (err) return err; - if (nr < 0 || nr > DAMON_MAX_PROBES) + if (nr < 0) return -EINVAL; =20 probes =3D container_of(kobj, struct damon_sysfs_probes, kobj); --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABD7038E12D; Wed, 2 Sep 2026 05:47:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328078; cv=none; b=DzOe+Yqx5BY/VIuxdvSSgHWXROHMdWNVsZAmGLduNDxF3K1iMfAiQaI+U5Rg/9hiwKAiyep/Tkw2RXteyciTb9pB9JTCX4XNL5AXPcfVLFyd6LJYY/VFeAWc4zq9JFgUFleaQQo0s0CWEUSQUZ1TZhda+5Hj/kIW4CvQ6RGsLpQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328078; c=relaxed/simple; bh=WrB6oaGrtV4BjGgUUluWgpUehInC5OR0jmjceXAKFUo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T3j3tTM2QS+EEEjha9KWnyGLal/6eSWrc519Ngr65dc27Lo0WBs+HjPTt9jWubAonCrCdSedjIfGIy8wDOYKBoqEqdEZ7pqYVvQYtyAD2OZSp7Lsx0OgM5qwzb1CzTBRvyYOTYYHdycrY+z5OjsdQtI1S6bf9RKMbo/6+JXVtDI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=J02qS4mG; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="J02qS4mG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BBDB1F00ACA; Wed, 2 Sep 2026 05:47:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328076; bh=/OzGA+O2Q4uOwSPOS2Cbn9lXzmSaQwiafB86MxgZx8A=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=J02qS4mG49amT9aL3qy0N/9i1yyI4Gsah5BLEvacx1Fg8/zXD2kzAp0KNcl+fhWuM Je22SK57DqL931haIX85t07X3Ih44MaXddzyX10Ta5vD8SRZ9JLbgybXeIwfhFWfKR TvPESGAR9FjLzwGiy17s6hZ+bHJpi5smnek79MCQaS7uGa/15Jt5Jcw9p84ZcJOMPK X6y4deFY7ltvG+x4scupqqLvulP7xDPYrI9DtvYdSh/ABSCwjNEayrv+abxdqsWehe 3FXyr5T22Ay4KFIPEoqjDAdGkIhRuIwCThrf2+WG4+HDGpjkv/k2aQ1K2/S1YtLzmm WCnOIT6zg1bLg== From: SJ Park To: Andrew Morton Cc: SJ Park , Brendan Higgins , David Gow , damon@lists.linux.dev, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 06/12] mm/damon/tests/core-kunit: extend set_regions() test for error case Date: Tue, 1 Sep 2026 22:47:39 -0700 Message-ID: <20260902054747.99370-7-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" damon_test_set_regions_for() is designed to test only success-expected damon_set_regions() calls. Extend it to cover error-expected calls, too. Signed-off-by: SJ Park --- mm/damon/tests/core-kunit.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index af26b3d60957b..2bcf3bafe2e29 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -469,11 +469,12 @@ static void damon_test_set_regions_for(struct kunit *= test, struct damon_addr_range *old_ranges, int sz_old_ranges, struct damon_addr_range *new_ranges, int sz_new_ranges, unsigned long min_region_sz, - struct damon_addr_range *expect_ranges, int sz_expect_ranges) + struct damon_addr_range *expect_ranges, int sz_expect_ranges, + int expect_err) { struct damon_target *t; struct damon_region *r; - int i; + int i, err; =20 t =3D damon_new_target(); if (!t) @@ -487,7 +488,8 @@ static void damon_test_set_regions_for(struct kunit *te= st, damon_add_region(r, t); } =20 - damon_set_regions(t, new_ranges, sz_new_ranges, min_region_sz); + err =3D damon_set_regions(t, new_ranges, sz_new_ranges, min_region_sz); + KUNIT_EXPECT_EQ(test, err, expect_err); =20 KUNIT_EXPECT_EQ(test, damon_nr_regions(t), sz_expect_ranges); if (damon_nr_regions(t) !=3D sz_expect_ranges) { @@ -516,7 +518,7 @@ static void damon_test_set_regions(struct kunit *test) (struct damon_addr_range[]){ {.start =3D 5, .end =3D 15}, {.start =3D 15, .end =3D 25}, - }, 2); + }, 2, 0); /* Un-intersecting regions should be removed. */ damon_test_set_regions_for(test, (struct damon_addr_range[]){ @@ -529,7 +531,7 @@ static void damon_test_set_regions(struct kunit *test) 1, (struct damon_addr_range[]){ {.start =3D 18, .end =3D 23}, - }, 1); + }, 1, 0); /* * Holes should be filled up with new regions. * @@ -550,7 +552,7 @@ static void damon_test_set_regions(struct kunit *test) {.start =3D 8, .end =3D 16}, {.start =3D 16, .end =3D 24}, {.start =3D 24, .end =3D 28}, - }, 3); + }, 3, 0); /* * New regions should be able to be appended. * @@ -572,7 +574,7 @@ static void damon_test_set_regions(struct kunit *test) {.start =3D 0, .end =3D 4}, {.start =3D 4, .end =3D 15}, {.start =3D 25, .end =3D 40}, - }, 3); + }, 3, 0); /* * New regions should be able to be inserted. * @@ -595,7 +597,7 @@ static void damon_test_set_regions(struct kunit *test) {.start =3D 0, .end =3D 15}, {.start =3D 25, .end =3D 40}, {.start =3D 44, .end =3D 50}, - }, 3); + }, 3, 0); } =20 static void damon_test_update_monitoring_result(struct kunit *test) --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 26E0D38DC69; Wed, 2 Sep 2026 05:47:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328078; cv=none; b=LV7vAqiTzMKWPOSTMQbcsrk4wQH5AvxBOBCPW/dpn3xwOozL/nveE9LCbNlZfA4lgEAxb4vMQyR7lFo2qbeQYnML6E1V427pLGPMpeio7cxxempeLU5pEHHSlem96p6+rf73ykIFwVRc9yZzf5Udccu/RUPDu6HeYsmkQgPanLw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328078; c=relaxed/simple; bh=u+oZCoOKdySThIkJPUr4RxCiZbFXrkCX08oE+VOZRT4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X3X9CyMleJy/pQvNrrkk1B7aPJaXxuA/zX8+0coxSVuzBPOOgTawuT87tQjqujdNz8OXXRYxAJdgsFQe9lX4fhvbD1t2+iO411k7qtJ0T+hp5Bs2opAJvzEkZuWtCvU0ktht8Tt+trkwcClM8MqYEGrheaIGGYSpJi4MF5RrSdo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=g/bSpy1o; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="g/bSpy1o" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC6491F00A3A; Wed, 2 Sep 2026 05:47:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328077; bh=KmA3XIkDsEGWw9Q0yqvFSyXfLgWn5kQtFO0BvVaBzPA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=g/bSpy1oP6r9W1m5m4QtCcakQBc2X9gSn8wCas9R2qnb8rZfo0TiEGsjmLT0SsUz1 Y5JhKg7MqDK+IPWptQ+GXfm7P2YCBQxEutJhb89J0+QettPXBWEAe8ICmMz/2D6ROw mCIQ/WW8hq3EPMKg7LrOqwLvcs86GZQu72nmLWV7sXxCr3I6g2t7caVI94oheqG5hi kcx3PpznSKVhwaBpYSpy/Ky35l7a1/yny/YvbvjDcxd1S+j1OqEe8gcmrEfBPPWROw dgViNOVYb1iI4882eDw2Q6RF53sfLGTEMOdhApqlbbWYFhfdTd5u0eX16kTTDAivu4 OPTlUF0FemY4Q== From: SJ Park To: Andrew Morton Cc: SJ Park , Brendan Higgins , David Gow , damon@lists.linux.dev, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 07/12] mm/damon/tests/core-kunit: test <=0 size damon_set_regions() inputs Date: Tue, 1 Sep 2026 22:47:40 -0700 Message-ID: <20260902054747.99370-8-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Commit 1292c0ecb1ca ("mm/damon/core: validate ranges in damon_set_regions()") disallowed passing zero or negative size input ranges to damon_set_regions(). Add kunit test cases for those inputs. Signed-off-by: SJ Park --- mm/damon/tests/core-kunit.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index 2bcf3bafe2e29..3cbbbcbfbef8f 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -598,6 +598,20 @@ static void damon_test_set_regions(struct kunit *test) {.start =3D 25, .end =3D 40}, {.start =3D 44, .end =3D 50}, }, 3, 0); + /* Zero size regions should return -EINVAL. */ + damon_test_set_regions_for(test, + (struct damon_addr_range[]){}, 0, + (struct damon_addr_range[]){ + {.start =3D 42, .end =3D 42}, + }, 1, 1, + (struct damon_addr_range[]){}, 0, -EINVAL); + /* Negative size regions should return -EINVAL. */ + damon_test_set_regions_for(test, + (struct damon_addr_range[]){}, 0, + (struct damon_addr_range[]){ + {.start =3D 42, .end =3D 21}, + }, 1, 1, + (struct damon_addr_range[]){}, 0, -EINVAL); } =20 static void damon_test_update_monitoring_result(struct kunit *test) --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B887738DC53; Wed, 2 Sep 2026 05:47:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328079; cv=none; b=NQqc9Qa2f9eC5Xf6Oy1AhOMyb0KBRsN3lI7XLDSSt7ouFlaYWRlFaNW5JsfUnHeTwD9Ebt7oByCldCQg5576WiSt9RhUEYJG5HdkyzVTt+n1uTmyy8fDd7suOstqZ3d0LF4I3NA1onFHvnqrznhxwc0f4e6Q+wG+ZlD9jBfF/O0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328079; c=relaxed/simple; bh=bhY4KhIyu4gwy+axujpyt57DuX8kkNxrt1KBoU8TmQo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LWkml9wue9SeCRLsC9EBq25q20t1+yS4YdNYJ5YaJ3h9EG4oUPw3y9IR5b/8IuVzysuurk1/fubC8hcRRleVMwY3sivk1JLeKYe9DhSVf9dt6WNmGSRfdObFPrI8CNPQOCasWQnNhIB3HzGGzcBpWc2s2Xncss34gcfYe7rYZP4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EgyR80sS; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EgyR80sS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 362531F000E9; Wed, 2 Sep 2026 05:47:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328077; bh=KnjoWKXYy9mV4JP4a4wfsis0KbFL9ZmPOgZcY5kWfCo=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=EgyR80sSVGZeqAZxZ92XTLPu7/ygW+YWlw9SJ+T3xdyG+MrPAYVWAuYYwIacpddeN ICh6gf/gejLtS8LofSIiOs75v5RelfALnKuSTdO+mg6SJaV32cPRkcd13FUyqBAxf/ Pv+s+G0edkJ9J5bb/2vAGl7ahKfGV0EtXZJYfZ4G9Pi66X+L5ufr7fg9IH4bLJmeaC sLkfJlOzM2CyPwilF+7Gzmp1lMdmfcu8sMtW3BX8gr/EQhZBx/8AZJ0Of6E2kq+Osq 1m/H436xwi8JcRP2gFLyszGHhqFdrIfWXlT/+J2DxX5dO9+dfm/MAlrQLDS1D3wMOo kaIsW99KfflpQ== From: SJ Park To: Andrew Morton Cc: SJ Park , Brendan Higgins , David Gow , damon@lists.linux.dev, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 08/12] mm/damon/tests/core-kunit: test overlapping ranges for set_regions() Date: Tue, 1 Sep 2026 22:47:41 -0700 Message-ID: <20260902054747.99370-9-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Commit 954157679ec3 ("mm/damon/core: disallow overlapping input ranges for damon_set_regions()") disallowed passing overlapping input ranges to damon_set_regions(). Add a kunit test case for the overlapping input. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- mm/damon/tests/core-kunit.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index 3cbbbcbfbef8f..a4164ac489a61 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -612,6 +612,17 @@ static void damon_test_set_regions(struct kunit *test) {.start =3D 42, .end =3D 21}, }, 1, 1, (struct damon_addr_range[]){}, 0, -EINVAL); + /* + * Regions resulting in same region after alignment should return + * -EINVAL. + */ + damon_test_set_regions_for(test, + (struct damon_addr_range[]){}, 0, + (struct damon_addr_range[]){ + {.start =3D 10, .end =3D 20}, + {.start =3D 20, .end =3D 30}, + }, 2, 4096, + (struct damon_addr_range[]){}, 0, -EINVAL); } =20 static void damon_test_update_monitoring_result(struct kunit *test) --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 087B938F255; Wed, 2 Sep 2026 05:47:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328079; cv=none; b=d+adaMjTYWllzwbdOoEVJFt1FmrRS8JPEHGOQIiuJMoquQ2zWjuDPZpuH7eAuoHhgk1VjXLwJdVUNLlCdl7n2szrXUWK5eAaA2zXQve8CRZF9Qhr9pFxYvI4JVNVMFJ017U7yjfltTSBEcngQT3niA8ErqjyJN003N3yWCfJ0KY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328079; c=relaxed/simple; bh=2pZTkI/oCmWinwH6DeXmTbs9qIAw+27YX/dzECNnx2I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OFvxwxn96GnWcAiTdg/ru3s8OW02Uimpcn/Z6BTYz2qQTgfrKYlQkOYLi+/SekptcTTAbmwngzvAetWDOXqrGIj2UChl78tUxGpPiziVZ27mZDspl09hL2at825sjHrnWULYllxgi1BnmTr8e3yLjnBFHqJ4PBdKzrsSzyyxBFw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Vy6DkBnk; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Vy6DkBnk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4AAD1F00A3D; Wed, 2 Sep 2026 05:47:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328077; bh=LCVrTJpLa2unGCETWoawjk8AD+WeKZfpebJRiu9J1ew=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Vy6DkBnkymZetvewrk8FS6KINWHWOlX1jyYBRcTg0m96UVSraiO/U0opQaAvso2ol P0cfp76K+VND/mokB6TfEyVBgGVp/nDpbqhde/ht1M9WqVoS+X/s6ZwYn6OqzldoPq Vm9vERApPAp5rqb+XY2Uh6TaUOchkGBsqufU4WYy+YUR8OGWiG+84iw6BttJrvTRJj YJSMYxjmEmy4oY3EwX7nFDkN9q7hkpaJBvhmyfilAhiMXVZWQJ9xZnnExnkNJKE9+r euSF1WZ15iwLkqCxjDpjwL12jtoknq6ISX74LXuzuJGhT0fURRvsPDL2zfNtuy+chG h+GGPRoBjgMlQ== From: SJ Park To: Andrew Morton Cc: SJ Park , Brendan Higgins , David Gow , damon@lists.linux.dev, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 09/12] mm/damon/tests/core-kunit: test damon_nr_samples_per_aggr() Date: Tue, 1 Sep 2026 22:47:42 -0700 Message-ID: <20260902054747.99370-10-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" damon_max_nr_accesses(), which is a previous version of damon_nr_samples_per_aggr() before the renaming, was wrongly returning zero or random overflowed values for extreme intervals setup. Commit 35d4a3cf70a8 ("mm/damon/ops-common: handle extreme intervals in damon_hot_score()") updated the function to return correct or more valid values. Add a kunit test to ensure it is working as expected. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- mm/damon/tests/core-kunit.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index a4164ac489a61..d0bed01a5b7fe 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -625,6 +625,27 @@ static void damon_test_set_regions(struct kunit *test) (struct damon_addr_range[]){}, 0, -EINVAL); } =20 +static void damon_test_nr_samples_per_aggr(struct kunit *test) +{ + struct damon_attrs attrs =3D { + .sample_interval =3D 0, + .aggr_interval =3D 0, + }; + + /* Zero aggregation interval doesn't cause division by zero */ + KUNIT_EXPECT_EQ(test, damon_nr_samples_per_aggr(&attrs), 1); + + /* + * Too large aggregation interval on 64 bit system doesn't cause + * overflow + */ + if (ULONG_MAX > UINT_MAX) { + attrs.aggr_interval =3D (unsigned long)UINT_MAX + 1; + KUNIT_EXPECT_EQ(test, damon_nr_samples_per_aggr(&attrs), + UINT_MAX); + } +} + static void damon_test_update_monitoring_result(struct kunit *test) { struct damon_attrs old_attrs =3D { @@ -1736,6 +1757,7 @@ static struct kunit_case damon_test_cases[] =3D { KUNIT_CASE(damon_test_split_above_half_progresses), KUNIT_CASE(damon_test_ops_registration), KUNIT_CASE(damon_test_set_regions), + KUNIT_CASE(damon_test_nr_samples_per_aggr), KUNIT_CASE(damon_test_update_monitoring_result), KUNIT_CASE(damon_test_set_attrs), KUNIT_CASE(damon_test_mvsum), --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A8B138E8B9; Wed, 2 Sep 2026 05:47:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328079; cv=none; b=lsLBfnMJzwF0yq/HRu3prc6oX+mUoaKOgPX8iOvG/d2s01Qbap50jVzTCUNxRZ39FVPJ1DvAy2+79iOSGOW3Lg1OTTJQZ2FnUOqL6naKS8WZmxrd+S2JDg2WYVY7+t0mBmT10c2MCIqcfkKCRVJXu8P/rxq+6W0Og/OxkV8/H2E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328079; c=relaxed/simple; bh=HbRbHRXJKLR5v8dTl/LSDMwKCFClK2aYCYBJgtV6g70=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tw+aqWfeAf55zWHW6CZJkTce5CwtRibE3GVa3Nrz4DHODR0KfH5/N3V7TE/5PUYISbXayVFBHtGOdu99re/IYYEwEf3qBJsyDuYOAh9ED0jcBXzse2yS/ypMv0xkDdQjCjng+K/MG+HLLLNt7UcbWysFGBo08b+V0g9r2TDM/Z8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ERR+va7v; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ERR+va7v" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1CFF01F00A3F; Wed, 2 Sep 2026 05:47:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328078; bh=jEqn658128UTd1o8tS5ZjT5LQQ6f3vfRE5EdtC108ZE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ERR+va7v7jV6syjvn8R/yUBvyK/UxNaRaNVakcrmAmMgw9hQqXPpDw1mb5jZ5LYx8 TtN4CIzctFX1QXt5wHf49T7bWKsSfUJpb/1GU34Jl1i3mRYi+WhAIFpfPz071elkku C0v/ygGvwhHF23venbP+e7sMEzvp6WiC9Ns3KNDFueKGan1dYypMzz/AyXZNht+RwK iVEveqQLS/Zwp4ROh3IW8ytBFCiPVqIKpLKsjjNQtB+klPSWSEHgM/B7Luzy8vybWa fi/m9nROPRr6+/7KpCblcDNz8mT+iKNT89DuO3321p1eSA6pb9TPBrUkl6l2/gLfvl NQH+rzise8OVg== From: SJ Park To: Andrew Morton Cc: SJ Park , Shuah Khan , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 10/12] selftests/damon/sysfs.sh: test hugepage_mem_bp quota goal Date: Tue, 1 Sep 2026 22:47:43 -0700 Message-ID: <20260902054747.99370-11-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" DAMON sysfs quota goal target_metric file now accepts 'hugepage_mem_bp' input. Test it is accepted in fundamental DAMON sysfs file operation selftest. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- tools/testing/selftests/damon/sysfs.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/damon/sysfs.sh b/tools/testing/selftes= ts/damon/sysfs.sh index ddebde6edabe4..b66593c9ac471 100755 --- a/tools/testing/selftests/damon/sysfs.sh +++ b/tools/testing/selftests/damon/sysfs.sh @@ -210,6 +210,7 @@ test_goal() ensure_write_succ "$fpath" "active_mem_bp" "valid input" ensure_write_succ "$fpath" "inactive_mem_bp" "valid input" ensure_write_succ "$fpath" "node_eligible_mem_bp" "valid input" + ensure_write_succ "$fpath" "hugepage_mem_bp" "valid input" ensure_write_fail "$fpath" "foo" "invalid input" ensure_file "$goal_dir/nid" "exist" "600" ensure_file "$goal_dir/path" "exist" "600" --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FB5B32F764; Wed, 2 Sep 2026 05:47:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328080; cv=none; b=Z9tNeuyNPB2SSW0+oFGf9Ct5zvp/C3QjCDzx4u88EBF3Pw7Ra1hG23vAOUSUcx+WvoQXo8APGALTBMAwf8Xy5Z1Q2jAJARzi21XvWZaKWDjRSI60PfDalE3CkrMXxOBN07Juxf0bA3kazJALJ7Zxd0oX2rSdIR1hkuSAwEQCuTw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328080; c=relaxed/simple; bh=94L9Y6jblqW5ICiSyH0suMgSyVNNc6/w7ucmr3p0soQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=H84fpAciVupbnYDZbjNdWqgnWx7bzpdhJDKLx++ey2Nyk/B4zXHb/1gNqtO+PXJR8Ljfmx/XhlyMs91BtQcAaV3lTN9yKHCR9NzLU/V03TEwt4ca6sISJxvkXYi7fh//JWht0c11+pav1HY6WVYySgIpwS9YIVw5CLCVBGPZo44= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=A7m5oHnu; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="A7m5oHnu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DC481F00A3E; Wed, 2 Sep 2026 05:47:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328079; bh=+7L5cUB5gmn/G0XCH5EnzRVEYnRmQ6289QitHVcV3Es=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=A7m5oHnud/3hqN3P0e/92GwC1TwwvZkzr13eGqpNp6wNxffTd2DX243Ns/4sYjmuw SbeScDff73MU0Dji7jmkBwY6Je54afEvxYHwr5XXCX8km/tHl0/VUucaH2LJoZmYCR fcERvk8nMyRYJtpanZeVtevI1I4787S4PW1ktiElSZJZmhypyV7EXTJOsNJiclFO9D QhaibuNqlbNZsHHmgjvNu1cmwPJqSKXJctSLsNUcubQPlm0E40mCt3eNeOd0exjE7N 4cMs/KFGDHHGmwCGLOJTuOjjIzqok1qvt5agmgcd1/BvgxsQKxw29zriy9IkEq/nTd ZbhMUsJ1Ppt+A== From: SJ Park To: Andrew Morton Cc: SJ Park , "Liam R. Howlett" , David Hildenbrand , Jonathan Corbet , Lorenzo Stoakes , Michal Hocko , Mike Rapoport , Randy Dunlap , Shuah Khan , Suren Baghdasaryan , Vlastimil Babka , damon@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 11/12] Docs/mm/damon/maintainer-profile: update AI review for Sashiko replies Date: Tue, 1 Sep 2026 22:47:44 -0700 Message-ID: <20260902054747.99370-12-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In the past, sharing Sashiko review results was tedious. Also it was suggested to minimize the recipients on the sharing mails. Hence the AI review section of DAMON maintainer profile document was updated to give guidance about available tools for making the sharing easier, and how the recipients list should be managed. Now DAMON is onboarded [1] to Sashiko's automatic review replies feature. Sashiko directly sends its reviews as replies to the patch mail thread. It also reduces the recipients list to deliver the reporting to only the author and the mailing list. Remove the old guidance that is no more necessary but only confusing. [1] https://github.com/sashiko-dev/sashiko/commit/b554c7b6e733 Signed-off-by: SJ Park --- Documentation/mm/damon/maintainer-profile.rst | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/Documentation/mm/damon/maintainer-profile.rst b/Documentation/= mm/damon/maintainer-profile.rst index fb2fa00cc9aa1..a7c1352339378 100644 --- a/Documentation/mm/damon/maintainer-profile.rst +++ b/Documentation/mm/damon/maintainer-profile.rst @@ -106,18 +106,9 @@ AI Review =20 For patches that are publicly posted to DAMON mailing list (damon@lists.linux.dev), AI reviews of the patches will be available at -sashiko.dev. The reviews could also be sent as mails to the author of the -patch. - -Patch authors are encouraged to check the AI reviews and share their opini= ons. -The sharing could be done as a reply to the mail thread. Consider reducin= g the -recipients list for such sharing, since some people are not really interes= ted -in AI reviews. As a rule of thumb, drop stable@vger.kernel.org and indivi= duals -except DAMON maintainer. - -`hkml` also provides a `feature -`_ -for such sharing. Please feel free to use the feature. +sashiko.dev. The reviews will also be sent as replies to the author of the +patch and the mailing list. =20 -It is only an optional recommendation. DAMON maintainer could also ask any -question about the AI reviews, though. +Patch authors are encouraged to check the AI reviews and share their opini= ons +by replying on the mail thread. It is only an optional recommendation. D= AMON +maintainer could also ask any question about the AI reviews, though. --=20 2.47.3 From nobody Sat Sep 26 11:00:59 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3B7639150B; Wed, 2 Sep 2026 05:47:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328081; cv=none; b=TRXf90ei4zSu9E6NtEWbTToHT9CAFMgSj2A1sXW1L4egBzsPAcFEp8XpYV3M7WVwFck0NxxZsi6OQ8mTJ/OB+TEfDX+it1T3UUTx26oKlWYxpZL7RVjqV4Wflj1dcaN8642+9SVsKaF/asY1utrzL3+SkvQcUSXYvl1iFtb21MY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788328081; c=relaxed/simple; bh=2xY8XmsQ169rflgljcAafurgWq/upAZgTuMMbRiXQh8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aDzXE4j/QdsvMelTiiKvDPSLfvNqANgE9+sf9qmzky1d+wDT8hjBpA9KuPq1+CAO7OjPyMIiVuBfEG7xu0uZSzRFXQLn9ca3EmnA2ywexWqHfxvk5mlAgdDi0/6HUvegJ1c7SG7SsfaNkdSWbWTrAzZGXJCwP4m5iSqABN560yg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iJBD+xhb; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iJBD+xhb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 307D91F00A3A; Wed, 2 Sep 2026 05:47:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788328079; bh=FTkFqCNT/LseVbtXKhwVw4AevH2QQucXk6b0DrI2IK0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=iJBD+xhbGsbTbi8FntI+zlKjLKAHwo5WB2UcnafQzV8jHHYe5RCEmLlQ+PohvNbt0 EazBZCYqe9sA55ZsKS/mhMtCUHty+EnfSWeGOo9VwXf8ZgxbrlZLQUz2re0efopegt y4FuWHEi7R2ofbeC7dWcs9ztWVGtQ2RpGyL+jlmTzIye55vYmFhmPlaM2Kdnafepn+ pAtMlZUHonTYibPaqirBAR+Fx69M2mIxvFTSERvzX6WuuHtUHpSemPLPVRiCq58Mb+ lin32ZCuP+S3UiCMKwqRe3QPV2jQDZ/sjXzQn2j34DvAv7TNXnlRj3vUTxZhoLPShS xvEdWNVNsVMmg== From: SJ Park To: Andrew Morton Cc: SJ Park , "Liam R. Howlett" , David Hildenbrand , Lorenzo Stoakes , Michal Hocko , Mike Rapoport , Suren Baghdasaryan , Vlastimil Babka , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 12/12] Docs/ABI/damon: recommend subsystem doc instead of admin-guide Date: Tue, 1 Sep 2026 22:47:45 -0700 Message-ID: <20260902054747.99370-13-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260902054747.99370-1-sj@kernel.org> References: <20260902054747.99370-1-sj@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" DAMON ABI doc is recommending DAMON admin-guide for people who are willing to know further about DAMON. Nowadays the subsystem doc (Documentation/mm/damon) is a more recommended place for even beginners. Recommend the subsystem doc over admin-guide. Signed-off-by: SJ Park Reviewed-by: Kunwu Chan --- Documentation/ABI/testing/sysfs-kernel-mm-damon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentatio= n/ABI/testing/sysfs-kernel-mm-damon index f8d2601e82904..ad21f58f3c912 100644 --- a/Documentation/ABI/testing/sysfs-kernel-mm-damon +++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon @@ -3,7 +3,7 @@ Date: Mar 2022 Contact: SJ Park Description: Interface for Data Access MONitoring (DAMON). Contains files for controlling DAMON. For more details on DAMON itself, - please refer to Documentation/admin-guide/mm/damon/index.rst. + please refer to Documentation/mm/damon/index.rst. =20 What: /sys/kernel/mm/damon/admin/ Date: Mar 2022 --=20 2.47.3