From nobody Fri Sep 25 02:08:29 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 54B845908B5; Thu, 17 Sep 2026 14:22:19 +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=1789654941; cv=none; b=muVo63Hg3C4jXGtKTP4r6PpipPQT1FayYWgL8TZOuYlCgiN2UQSPRi+T0WKsSqdR7nVtVzxGLoZp+mlWsMf7rxoC2hGv9AQyQIu+M7JRfZtbE9p+nNTppOvV6YnnSG6+b3Gi7c8rKOI/63JkPZHAEGsoXBimREM44beschW8bqw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654941; c=relaxed/simple; bh=5x3DivB9gQB5lxNvwTlsjIfeudSnzImQeh4vtHJ1uLw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dZLDjtPNzMQGrjKday7WC2Vp5uPiO8ysnWDcBq0ZiYXijF3oxCg9aAvlUy1KcwJU7U0VBIeKb4f3uuJ3jzbSZjUlfmxOrNBucUC5y3gIKQMkcDxnmBBqs/NalJCldFmG3Geiz9zdUh5wvdRSbR7qJjCIuYt0wvi4vgOd4LY3XQA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ybj0/BVy; 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="Ybj0/BVy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C39F31F00898; Thu, 17 Sep 2026 14:22:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654939; bh=T7NGmBAgLNyxB6QRiSTsc0KXNRJO/iSY1w2o1E3csW0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Ybj0/BVybpVYjI52lmYjn6CSqa7w0qBacucLk7YHbAiTAl7Q94Kyqhxgfd3mwuOSb Y+b9VurEDucUbgBMrq8NEzYM5HqPVxdg8LEUkeFI00h/MqIJfrSnkrSDVb2cVrrqlB Rae2oLyzMmfBor6ViRSYc/GpIAdKnM8Vbfe8USRFmk9dcTd7uwi6fPMmTUB5BY9XwD QyNEhN7x6lAh/w1Ug+rYSeyWDp8DpcKbJjNy21Xc12juc7h4VJCfP4WnLQxQSi/Nj1 /xcOfbSZOAnwv8QANoux2AAuA5iFgaYv9pPwHCfbmNrrTQImUmP9XXiPYDQHaYUFPQ fqhAfvPZj18bA== 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/10] mm/damon/api: remove NR_DAMOS_FILTER_TYPES Date: Thu, 17 Sep 2026 07:21:59 -0700 Message-ID: <20260917142210.90829-2-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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" Nobody uses NR_DAMOS_FILTER_TYPES. Remove it. Signed-off-by: SJ Park Reviewed-by: Asier Gutierrez --- include/linux/damon.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/linux/damon.h b/include/linux/damon.h index bbb190b474015..836353c4ab9aa 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -400,7 +400,6 @@ struct damos_stat { * @DAMOS_FILTER_TYPE_ADDR: Address range. * @DAMOS_FILTER_TYPE_TARGET: Data Access Monitoring target. * @DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: probe_hits weighted sum range. - * @NR_DAMOS_FILTER_TYPES: Number of filter types. * * All types except &DAMOS_FILTER_TYPE_ADDR, &DAMOS_FILTER_TYPE_TARGET and * &DAMOS_FILTER_TYPE_PROBE_HITS_WSUM are handled by the underlying &struct @@ -422,7 +421,6 @@ enum damos_filter_type { DAMOS_FILTER_TYPE_ADDR, DAMOS_FILTER_TYPE_TARGET, DAMOS_FILTER_TYPE_PROBE_HITS_WSUM, - NR_DAMOS_FILTER_TYPES, }; =20 /** --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 C9B4C5908BA; Thu, 17 Sep 2026 14:22:19 +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=1789654943; cv=none; b=t7Ii3CuKzjD4rVkZsW0t7WwAfJvSsk15BUAAsAsLyv2lolzoGTWNCnOUV2pRCwZs23Z3+qmrBykd0YdNuDs0xn2FZaHa8fvShqSrkc19zMh7n6sXbzP0KSwzp7+RQ6r8ijagwAmOQrgoLtkvHyxL2t0AzT4ig/Bs4AMGkwHBQnA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654943; c=relaxed/simple; bh=nDAldM3Lr3pL7yzRPMPnxv7C69196HziwrlczuuJCrc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aiWVtoo/1PLW0SP5/2a85DGadjG9+3Je8WoabebWtvIxp+TM+Ye6DQB3UGEXwy66kZabLyqk5YpEdpgE5U68kKKpw2Q+5gzaCHnjZbynLI44b/e0baNnTXUWlrU8PVPji5XWn+K9CXNZsHi2h1Vd2hPz50kTbGzEcxyTe+zyDwQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZUgJetET; 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="ZUgJetET" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1CC631F00899; Thu, 17 Sep 2026 14:22:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654939; bh=vxln5uIYrxZ1tEvbRFMph3C1mcNz38/PEev4DXMWOvI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ZUgJetETiqQ9ixDcx09zjkVJR5sv9CPI1MJByv+mOw/peXroSGR/wPBdPWuj0ZuCa nm5n7ZclnKrkoI19TmdxYZwTP82kcp4Du8CvA7w+89hewHb7qlL8+Nt24lL6Bnbnh3 phtJB9QedHCryfeHu0gb6kllUio3zj8Fga/iZnZYFr3Q80Thru/81Z+YPO4pZQB965 7PNtOwMZUEnuPzSjhPtfx4a6lHpwRI+mlPuyi6hX79cRrLSLA3PgZaX73SkYGfWWTS fG6+6lQqKthCa9wMuJUPr3lMF+4Svxsq36CFawLgBZ1BDmr9fI4wCu8A7RALuq1BzW lCvRURuVrqKsw== 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/10] mm/damon/core: use abs_diff() in damon_feed_loop_next_input() Date: Thu, 17 Sep 2026 07:22:00 -0700 Message-ID: <20260917142210.90829-3-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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_feed_loop_next_input() is open-coding absolute diff calculation instead of the dedicated helper, abs_diff(), for no good reason. Use the dedicated helper. Signed-off-by: SJ Park Reviewed-by: Asier Gutierrez --- mm/damon/core.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 444c97c184027..de46072dc1a2f 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -2926,10 +2926,7 @@ static unsigned long damon_feed_loop_next_input(unsi= gned long last_input, if (score >=3D goal * 2) return min_input; =20 - if (over_achieving) - score_goal_diff =3D score - goal; - else - score_goal_diff =3D goal - score; + score_goal_diff =3D abs_diff(score, goal); =20 if (last_input < ULONG_MAX / score_goal_diff) compensation =3D last_input * score_goal_diff / goal; --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 EC5BB5908C0; Thu, 17 Sep 2026 14:22:19 +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=1789654941; cv=none; b=F9bXfHSC7PNLxBHEj/AYOhEuA4JzzAoFWsTA31LJC3gi0hVUCeJ9kmzitgi/aZW7x+MRMHV65zumpwU36EDar8tb7rg9apfvtqgcpaGb4FpzPcTDBUAnPYeOOl8oYt23SbmaclWq4tlWRhjKxzcgEP/aQN7G+hz6LOKWK+IdxQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654941; c=relaxed/simple; bh=VaDYdo4YPv5i47nFcp1UcmGveOFil6j1xbLCRiCXscg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mNQ64N7wH4Wl9+m7S1pMxvBhKv3//uIdCtXFjklLOk8t6/H+1Bl/nPA+67Ht5P1Xt33RSK8MaYtcMClXYJTRcon5+ZR5J8/rKKadaL8qm0D4Y5EoSgqSrsY9EXk2Fd2QeZl2haHow3lY+Wo9nzZaSsPnfRHoKWwCllSti/YiJzI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=h5ExFZPJ; 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="h5ExFZPJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 698B91F0089A; Thu, 17 Sep 2026 14:22:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654939; bh=G4i9YVdly64+a304TiCv8nwcHkLss6xqStxGSND5/ec=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=h5ExFZPJQqiTePp/WDl73sof3pqfsr/hdjFIOJ3lWzZVKGNrtN2V8/Ojg3ODcNRq7 1paKZ44w7an5o/r95vLVQv0bk4qiUZukq79QAXR2ZqdBkofCE0xLAl9TJrzFwtvJcE ijDZn/rSTZtXH+MW1Bw8sNSFaZU7VsiiLNetPjm+IJqzE6WxgjoKHkrTLSE/rm3pXW xZNQB4GzoKlISfZh6wVJLLic5/78/BKiecMDKc6zrvcbYIsEA/EYPmWYxkhH+jgMFs +y2OjyLKNf7NF9FLh586Wz6pPCalP5v6BapcLU3zT4nHbgz4f1xG0lXfaKpNmzQuSp 2Z7RIfsHMLVHQ== 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/10] mm/damon/core: use mult_frac() in damon_feed_loop_next_input() Date: Thu, 17 Sep 2026 07:22:01 -0700 Message-ID: <20260917142210.90829-4-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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_feed_loop_next_input() does its best effort overflow protection. score_goal_diff is always smaller than goal (10,000). Hence the calculation can be replaced to use mult_frac() without concerning the overflow. Use mult_frac(). Signed-off-by: SJ Park Reviewed-by: Asier Gutierrez --- mm/damon/core.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index de46072dc1a2f..bc41ac7ecca43 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -2927,11 +2927,7 @@ static unsigned long damon_feed_loop_next_input(unsi= gned long last_input, return min_input; =20 score_goal_diff =3D abs_diff(score, goal); - - if (last_input < ULONG_MAX / score_goal_diff) - compensation =3D last_input * score_goal_diff / goal; - else - compensation =3D last_input / goal * score_goal_diff; + compensation =3D mult_frac(last_input, score_goal_diff, goal); =20 if (over_achieving) return max(last_input - compensation, min_input); --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 4BF915908C7; Thu, 17 Sep 2026 14:22:20 +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=1789654942; cv=none; b=Q1ka/pYhy1H3vWgg/dQbREnhiGhK8mNuhdSdnTH5V6IZVDBHIsFEZOsUuukmw/7+V63L6mmGk2Bcs+nX/NTNWMOrRdEoNW52URzMIVLa20MOYDYpiuQg5kxIvE5uQ4id/rjTDvsFYlfUpff5LJz3uScW6h+Xtw9axfj5tz7HutQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654942; c=relaxed/simple; bh=7h/1R3QiQV2pJkqca3P/M/CALq4cAaHBIyysfS+QMZc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k6/JWn8PPBckmxOaWpMzZPRvwp+udX2+AlmjDzOnY6llx5EWQEj3QpJoC72VhnC0pyC9Gz+ZFGnPCYYKe0gZYAnT7evqNu9r0lDNRGeOHjKYpuAL3YX6jLiA1CGhgUvbYmZEO9KbYoNnNWlV1qzo/06IA7j8WQ+3wpez0JVySYw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=S1hpqEWp; 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="S1hpqEWp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B693E1F00893; Thu, 17 Sep 2026 14:22:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654939; bh=WNxPb3XuWgcy0/vqXG1EDhrYQFj1MOLwj/rJkugHFUA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=S1hpqEWpn31KrLILxhWCBo/lIaLA/WzcB+GWEsWclJ9eaByXVTLpKXFT79jsgU5Vy vj+P4VWwlw1yYKdttn0iOBhl47oTAediQNbl5XUIxvn6kcCm4omfJpKLui6JnluBmq zuX7tX2Y8+odZgbyYkyOW2klETk7FhwZo8NbUznZoTLpWGmKAJyHpoh7urajPDp9X8 H4jREz1CUgFL49RuCCfPhJFVxw5Dj3ExhIy10ccs3NXECT2QkgCpNUR5atvq2C4G0k WCHfA1BjXVwXg8Um5F97DSGMmRktGhos4QiSk5djObLvCdyA10vL6+ZeNr6Rg2MLcu an3F3bitdNnqg== 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/10] mm/damon/core: set damon_ctx->walk_control_obsolete in damon_new_ctx() Date: Thu, 17 Sep 2026 07:22:02 -0700 Message-ID: <20260917142210.90829-5-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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" damos_walk() should be called for a damon_ctx context that has successfully started at least once. That's because damon_ctx->walk_control_obsolete is initialized when kdamond starts. If the rule is violated, an indefinite wait can happen. There is no existing violation of the rule. damon_call() had a similar rule, and it turned out keeping the rule is not easy for damon_call()'s case. Hence, commit 8023b5f47e09 ("mm/damon/core: set ctx->call_controls_obsolete in damon_new_ctx()") added the initialization in damon_new_ctx() and removed the rule. Keeping the rule for damos_walk() is relatively easier. But having slightly different rules for similar functions could be confusing. Sashiko, for example, repeatedly asked questions about this. Do the initialization of walk_control_obsolete in damon_new_ctx() for consistency. [1] https://lore.kernel.org/20260915011614.102342-1-sj@kernel.org Signed-off-by: SJ Park --- mm/damon/core.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index bc41ac7ecca43..c63b09d4a2d0d 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -939,6 +939,7 @@ struct damon_ctx *damon_new_ctx(void) INIT_LIST_HEAD(&ctx->schemes); =20 ctx->call_controls_obsolete =3D true; + ctx->walk_control_obsolete =3D true; prandom_seed_state(&ctx->rnd_state, get_random_u64()); =20 return ctx; @@ -2308,10 +2309,6 @@ int damon_call(struct damon_ctx *ctx, struct damon_c= all_control *control) * passed at least one &damos->apply_interval_us, kdamond marks the reques= t as * completed so that damos_walk() can wakeup and return. * - * Note that this function should be called only after damon_start() with = the - * @ctx has succeeded. Otherwise, this function could fall into an indefi= nite - * wait. - * * Return: 0 on success, negative error code otherwise. */ int damos_walk(struct damon_ctx *ctx, struct damos_walk_control *control) --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 B8CEC58FD2A; Thu, 17 Sep 2026 14:22:21 +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=1789654943; cv=none; b=QxULL7sk6IcvbS6BNImdr+vN2fnsCuOc611etni5gd0NQ0XNmHuP/6kMoy3+ZzUXpnbYYbtCVaknRmUYBr4NIiLopnfeAQgsbo6oODW2LwCSktdSu/Vjb3lIKHkgENf1lQbAAF6xtEuQGyuYSGOMRktDMKQdV/coAlCzJvD/fRY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654943; c=relaxed/simple; bh=lKpqzybvZ9hwDEn5zppDbcOvdMRte/Qiq/Xarpxk8U0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RTQjUfNbNcAw9snPoU//s06i5KEfAqk5aySSnKzli3Wbg8cWL3gychdcPacrZ2o8XntCpK51jCz3asLkTi/C9UFaLXz6LQgWMED6gtfAOGuQzWU5fFYmNiA4Ot6KbrJgkcW844/azCLqOQA65k8pjCb11KER1GEpApUgu2S/h0E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eomREd/j; 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="eomREd/j" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1026B1F0089C; Thu, 17 Sep 2026 14:22:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654940; bh=w6dSI4kuA6F6vgFBpIvecMt6EtgI2oZu6oc7TQA5lks=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=eomREd/jqdFfEgIBTkw87GKHW8I0aNQbEYgqPC+XhMuQfF2kvqLQHuoDRkVWKW8Um h/kWbDGPyuzYBZ9C0uO7GVGW9GkEayqY6gWg8tx/KLP0ob8veYHtN+HgVlApO0Nt/8 pashGIOoSOk27LBlcMGTWhdXFRBKtPQoIGzHA19aJ3BcK86worHf/tRgXwAfjZoy+9 H+Lkytu5tfiU2+lMFJRsJ+SEDBGG8vVOUKTzOxEegmp4KRpGy03h5ob5Di7vvErmuO rlRcia4W1GnwI5pHxpDwSEpNjcLXIY6tmJhMcCLGum7zrR+2OitqMapuYcDiQXwIyN Qj4Qyt1OaS6Cw== 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/10] mm/damon/core: document damon_call()/damon_start() race hang issue Date: Thu, 17 Sep 2026 07:22:03 -0700 Message-ID: <20260917142210.90829-6-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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" Let's suppose damon_start() and damon_call() are executed in parallel for the same DAMON context. Then, damon_call() could show ctx->damon_calls_obsolete set while ctx->kdamond is unset. If damon_start() sets ctx->kdamond before damon_call() starts the cancelling, damon_call() can indefinitely hang. No DAMON API caller does such parallel execution of damon_start() and damon_call(), so the issue doesn't exist. But who knows what will happen in future. Add a clarification comment for caution. Signed-off-by: SJ Park --- mm/damon/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/damon/core.c b/mm/damon/core.c index c63b09d4a2d0d..2258b72da7a78 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -2258,6 +2258,9 @@ int damon_kdamond_pid(struct damon_ctx *ctx) * * When this function is failed, the @ctx is guaranteed to be stopped. * + * This function should not be called in parallel to damon_start() for the + * @ctx. In the case, this function could indefinitely hang. + * * Return: 0 on success, negative error code otherwise. */ int damon_call(struct damon_ctx *ctx, struct damon_call_control *control) --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 B8E205908DA; Thu, 17 Sep 2026 14:22:21 +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=1789654943; cv=none; b=on1QQA4TUBghZNn9QNLPGAcJlZrwaROQRlTN9ueZ8sIassSVb/CMcLwa/YTm1Y+yO4pkG7E1hmFz+sUDTBkk5eX//aNsLrYngSM/kIC/ccgRG58e31UeYmx2BaA2if42mNer1EtiE6k1sOxH6027MhYuelntPxZbVXBqvp6zoPw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654943; c=relaxed/simple; bh=Ddkx7ZTSFvFyvhnKdja06+laaOkv/3+hcb3Kam2zg7Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q3jlF5wOWKlSUPsPpfy23jGGXBF+j+LFuqs5wCsx2bSTbtzy4DXYn+rMklxFaDoO4edytlaXso/f6gUWvGngFWLzO6HxhEIEOlp/6vtc3gzYL4xOr+47dz5zolPhfAzsQ7cDD8p8Zp0NNvCjEX9vRyANlsWVJlq/rhEujQIY3jk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ltc9y5z/; 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="ltc9y5z/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F81B1F0089D; Thu, 17 Sep 2026 14:22:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654940; bh=3HzbqHqjQymjaA7BsBDU1/xd02tq5ixlWdlSiDNtUtY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ltc9y5z/3ONggzQaz+gWDW8wvl9S5sQIQvHt4ii/ZG7pw4aYnhxQILLkHd0qMSIPd QX5qZgfzGBZaPQWgqq1C3J71poLBiq5KvE4fNgneVsV9IfpdC7UqsBAvNIA68dw0Ft zJOA2aa+AhZ+DLS10cWjzjM5cjN4gX1qZyKBvx7vhDXEu5Elbiv17UQwJsLvSx7lip jWU/j0V+ccDF+Rt9HBkImVWV2l8JOND8kN/T3MDg0aVLDX5BgTyH0KUIrMnHhGmLXj E9j+OlVfh6B9EKu6HW3ByybAECIXzsJLj/BmzBp4D4YFpkmq1xZEXhWJyV3YBxTI3z S6LrUkRHOD9Hw== From: SJ Park To: Andrew Morton Cc: SJ Park , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 06/10] mm/damon/paddr: remove pa parameter from damon_pa_filter_pass() Date: Thu, 17 Sep 2026 07:22:04 -0700 Message-ID: <20260917142210.90829-7-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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_pa_filter_pass() receives the 'pa' parameter, but doesn't use it. Remove the parameter from the function signature. Signed-off-by: SJ Park --- mm/damon/paddr.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 5abfabaa339e0..2cfdc356b4157 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -163,8 +163,7 @@ static bool damon_pa_filter_match(struct damon_filter *= filter, return matched =3D=3D filter->matching; } =20 -static bool damon_pa_filter_pass(phys_addr_t pa, struct folio *folio, - struct damon_probe *p) +static bool damon_pa_filter_pass(struct folio *folio, struct damon_probe *= p) { struct damon_filter *f; bool pass =3D true; @@ -200,7 +199,7 @@ static unsigned int damon_pa_apply_probes(struct damon_= ctx *ctx, ctx->addr_unit); folio =3D damon_get_folio(PHYS_PFN(pa)); damon_for_each_probe(p, ctx) { - if (damon_pa_filter_pass(pa, folio, p)) + if (damon_pa_filter_pass(folio, p)) r->probe_hits[i]++; i++; } --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 8EDD75908D7; Thu, 17 Sep 2026 14:22:21 +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=1789654943; cv=none; b=txoWP8FciXo6c2h4JnE28PJ9ajZINmAPC6RwFt+QAZ7S/U6c4DECMgYjbo8LINn3ELRlQbvt+EM4dBuhKnSkM+UatqMDUNDeWRw0kt4ta0yYqAWEtHnXmaMG8bgu3aaABX2BqJrErS1epX7n2wb/WbFC2whpsRS/AimCdr5WdP4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654943; c=relaxed/simple; bh=p27VGeOi6mxkr5YznAUf9hm/9dm7aJzUvGSB5HjhgHg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IFnXXpdD5qsD3i4wSVjDuoxa19NsekDS5ChufYU/rEFM+A0tdEZIbfNI5O1l1OmKMsx0aZnb5LMmnathIYP3G0EvreTUU1Wez0QTVEjMxtrX+w/x7SXqmrIrS1dOVWb/69zkeepfLhXg7UHWYsuaFxZINRNyN3wf4tjy8yj9Nwc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Il+Y6f5Q; 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="Il+Y6f5Q" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AACFF1F0089B; Thu, 17 Sep 2026 14:22:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654941; bh=Wlky4skHwDTF/HcxfK2+0jqoZPXhpLYEW64K0EJjYo0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Il+Y6f5QaMfp8RYw8AQOdX8mESp/ZegADh7Db9mBRkj6NKFyLyYsobOEuS1IXwOYy GMytgLOgDE2zZ9+Xrm5+H5lYnaFfGfCw89EqFUITBdWUuOaq5PHEB19XLDKLsFGokS pyMTlIvmXvoIu5vHLWB3RFxetcB2AeyHy8/qmcewoFJFMWVnjGem88aZmATDjFk9Ko ZrGxj5+HdqZreGuuhPPj6TlpcYRqZhAAmZ/agJlBdxpPniF0VxpjhhT9Zzwxz99CSX MVVpKsnp/mISeCRyJS2/83CtFFj21+dNMwRSJyb11pY8PSDmSDWAPN7lOYXHRw6jWZ PEI+2wVpQJhCQ== 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/10] mm/damon/tests/core-kunit: test eligible_mem_bp commitment Date: Thu, 17 Sep 2026 07:22:05 -0700 Message-ID: <20260917142210.90829-8-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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 was a DAMOS quota goal commit bug [1] that doesn't update the nid field for DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP metric goal. Add a kunit test case for confirming nid commitment. [1] https://lore.kkernel.org/20260827045035.94611-1-sj@kernel.org Signed-off-by: SJ Park --- mm/damon/tests/core-kunit.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index 5da84caf4124d..1f19fefdd98c3 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -835,6 +835,9 @@ static void damos_test_commit_quota_goal_for(struct kun= it *test, KUNIT_EXPECT_EQ(test, dst->nid, src->nid); KUNIT_EXPECT_EQ(test, dst->memcg_id, src->memcg_id); break; + case DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP: + KUNIT_EXPECT_EQ(test, dst->nid, src->nid); + break; default: break; } @@ -898,6 +901,13 @@ static void damos_test_commit_quota_goal(struct kunit = *test) .current_value =3D 345, .last_psi_total =3D 567, }); + damos_test_commit_quota_goal_for(test, &dst, + &(struct damos_quota_goal){ + .metric =3D DAMOS_QUOTA_NODE_ELIGIBLE_MEM_BP, + .target_value =3D 12, + .current_value =3D 345, + .nid =3D 6, + }); } =20 static void damos_test_commit_quota_goals_for(struct kunit *test, --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 53DC04DAF85; Thu, 17 Sep 2026 14:22:21 +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=1789654944; cv=none; b=mmcuuAo7NafVuRHzOXP4pvZ4CdLP/rNlqzyX704agvIo9ESU70cmNLAIxK+83eEHWjZrtbdDk8w1I6LOIIBUYEvl5WmkMV+vQlTxYaD05eMR/uEnDIyWD5e8FuKyCT1A2vLByKp0GvupiUdPvO0h1CPdwFTGyKF62P1FXUQpSV4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654944; c=relaxed/simple; bh=4U9oeiDg63kO0Tuk8WIBTY9rOPBTjZoKjJGIxJ7C1os=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C6DJ9SGV28oexY8x+6Yi5pxpJ8Rxes3sOAXGBpp0WOuA6TQbJsJpe5oFoBD5vPiYdXUB2g4tujcur/pzQixX1IlAVZcYg/eA02/77HYu2dPL/VG6ZjrHEfJCsEA0tMQimmFi4Bx06cNrAWBYIHPLgXAFFLFiX/TUMVcv3slfPdc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ldfonNik; 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="ldfonNik" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2040D1F00898; Thu, 17 Sep 2026 14:22:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654941; bh=fE3VSG475bLo7Rafe0HxYfu5RyrdwRMonEKmjNKbeoE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ldfonNikCJco+lq05YdWxGYXoi7MtGns/iW5fY3Tpy9ce2H2k551ftpQMsGuCANb3 Zr8ZOE8xM0sB4o9U1b+U0zBuRPVAnqdXz8vhyMUPoKJR02phbs7IWby77bhcjJHEQj SAdtQyApnW3oBY75ZzFNExDRCiqCZ90ozvm/f1XdL25qEw9pBxRlnZfFnCIkS1mKNO ++jqtlqfoapQbpnZUiUjk4BS8hzfy6eVDxYyiFH1KMC8P5JoENiN2UIxUgNUOcdaMu xdKOLqEvVi3xAoToXKtC9CqGopxJZY+ipI+9qoyt5J7UdvlLvV1bQ68qLHhQhx8gsE 1hA1qIKgDeq8A== 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/10] mm/damon/tests/core-kunit: add probe_hits_wsum damos filter commit test Date: Thu, 17 Sep 2026 07:22:06 -0700 Message-ID: <20260917142210.90829-9-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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" DAMOS filter commit kunit test lacks test cases for probe_hits_wsum filter type. Add test cases for probe_hits_wsum type DAMOS filter commit. Signed-off-by: SJ Park --- mm/damon/tests/core-kunit.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index 1f19fefdd98c3..5ff0436c58441 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -1166,6 +1166,10 @@ static void damos_test_commit_filter_for(struct kuni= t *test, KUNIT_EXPECT_EQ(test, dst->sz_range.min, src->sz_range.min); KUNIT_EXPECT_EQ(test, dst->sz_range.max, src->sz_range.max); break; + case DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: + KUNIT_EXPECT_EQ(test, dst->range_min, src->range_min); + KUNIT_EXPECT_EQ(test, dst->range_max, src->range_max); + break; default: break; } @@ -1239,6 +1243,22 @@ static void damos_test_commit_filter(struct kunit *t= est) .allow =3D true, .target_idx =3D 6, }, false); + damos_test_commit_filter_for(test, &dst, + &(struct damos_filter){ + .type =3D DAMOS_FILTER_TYPE_PROBE_HITS_WSUM, + .matching =3D false, + .allow =3D true, + .range_min =3D 12, + .range_max =3D 34, + }, false); + damos_test_commit_filter_for(test, &dst, + &(struct damos_filter){ + .type =3D DAMOS_FILTER_TYPE_PROBE_HITS_WSUM, + .matching =3D false, + .allow =3D true, + .range_min =3D 34, + .range_max =3D 12, + }, true); } =20 static void damos_test_help_initailize_scheme(struct damos *scheme) --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 0EE305921ED; Thu, 17 Sep 2026 14:22:22 +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=1789654944; cv=none; b=hidOV0x4duvaXCGWm7/u35xpExw49TGBO8qKXw5Wyd3aLZ4kuCMrZjdMw80YyOa3rgsniEWFL2C2H0aPdH56vIxeS/WAywFY9BoEGR83+IhqKA1dU25JKH/bywjYZRM1g2n64N2llY1iO4EhIqXtmXetRAwIOnvH+/x3MBtusiU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654944; c=relaxed/simple; bh=A1z4Z4sthlAAWZL5uA0t1iSAT474A3nS6REx5/reAVY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uVQeEphfOtzzOxn2HtXFWTVXtueAs7JZqEBt525jr/J2xTrHgab7WQ1pYET1f8f7D5xfH/PiS6syPCNeCeez9W8WitwkpeDZn0HAU3I/+3/qsKxjHIil5cl18O4WVev8bN9TMC3OUT+5qFhvA7QIgpFXtmWawUr6zwDpvAceyiw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MJQfah9s; 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="MJQfah9s" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C8A41F0089E; Thu, 17 Sep 2026 14:22:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654941; bh=x2I5kTm00UAvsmFfDHBSWc1OoiPGJbIihaNhsLMlExs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=MJQfah9sHqknVxHuAUuZPJP5U5a3RQPigf5dPsYTA/zWGy6sbDlqo+vtvXdSp/YjI +/cwlnRNgA3sQDtPVS3bXfdNZ0Y6q5kG/aPwQdPxgikQ+rFKIxjNL7vk5Xq+bKmhYR SO8ykCi5lNwav9Qj5zhnhAslmfSDRtznaH/Td75mybLfwpBelKAPPfE08hRd+8jJW9 dV9IFbjoGaEnxCsTYjOmAr2TkwfnI9wOiX3/dXPJnBWkyNoXm8UnxauagZHCHv6NWd gmCOtomULGAZRjCqGbE5o6/dCtkzYW7W9916yrMN/eNLZVlLTOGyK7aYJDrIRZ8Tkf xGxD0aahc9IGw== 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 09/10] selftests/damon/sysfs_memcg_path_leak: fail only for real DAMON leak Date: Thu, 17 Sep 2026 07:22:07 -0700 Message-ID: <20260917142210.90829-10-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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" The selftest can fail for any leak if it happens while the test is running. Remove the false positive test failures by further checking if the expected leaking function is called out on the report. Signed-off-by: SJ Park --- tools/testing/selftests/damon/sysfs_memcg_path_leak.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh b/tools= /testing/selftests/damon/sysfs_memcg_path_leak.sh index 33a7ff43ed6cc..34c37129c49fe 100755 --- a/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh +++ b/tools/testing/selftests/damon/sysfs_memcg_path_leak.sh @@ -41,5 +41,12 @@ if [ "$kmemleak_report" =3D "" ] then exit 0 fi +if ! echo "$kmemleak_report" | grep "memcg_path_store" --quiet +then + echo "[WARN] memleak found; apparently not from DAMON, though" + echo "$kmemleak_report" + exit 0 +fi + echo "$kmemleak_report" exit 1 --=20 2.47.3 From nobody Fri Sep 25 02:08:29 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 510525921F9; Thu, 17 Sep 2026 14:22:23 +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=1789654945; cv=none; b=SX6uigBJL6R6S3MS/9LYEKbqe6L9uHp1Pc1M9oD/A51TO29HZBXYyFnb+6otEAD2bkdAD+qs5flgRsjh4Netu8Kp24dVjwahMLogoIAHcwa8FX+m0EuohaY6/MT5nySL28BJygEgGfka51gim8+3UKW6vO1FNFUpfHZnYPUyjj0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789654945; c=relaxed/simple; bh=Eqre9EVQ7YlVbIBp2jqspJzGDFxFiz5ITzxRB7dmjSU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WOb9ZcXhiylDSypHBiPyl5sF9qRJ5lBOQOfeFhN4jHwF7K/VxaitmKKK6sxKUiB2YZgFYwSX1GDwrcabNVKR5K/n5uY6bvArE7vbdy7HhjrSfRcADg/winRN4DvFG8DTUnpxD7oXwG/gbMgQZcBoNgYi/4NIdD7J1c41xdqOmp4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fbxk3B1k; 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="fbxk3B1k" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8CD41F0089F; Thu, 17 Sep 2026 14:22:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789654942; bh=Mozf9eR83klndQFJraTt18kHcl1hxd6yOHCmDoYKrX8=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=fbxk3B1kVQa/Rmy2plmyyuHyctTxT8yCGXvhut/j2pz7uiz+QbAlLv8/6UztAXe41 tLJg8cKGIynm6fLnBghsnGt6GCd+jYC7M+RYUhe1vzhfTqX3dOZ4C1BId14gforUo+ Mpqj4T/S6kQMSBWZ180eQEfmNUJFLRFNss0AzQc3oQrGPO3n5O+L7sZsfgrNHslSA5 aGPofrVcWeRQSeyLDDMfGqp36KBQBcc2Kpb/M1Zuol0PY0FqPB/wrkDwU9zD5C7/EA xT3EQzQInjk9Cx/S/7zF+BBGo6a7I5x/aPeqb6BVAs+d4FNyYRhwezk/i5o+sFkLYR EPfhO8Oy0rVtA== 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 10/10] Docs/mm/damon/design: clarify bp is basis point Date: Thu, 17 Sep 2026 07:22:08 -0700 Message-ID: <20260917142210.90829-11-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260917142210.90829-1-sj@kernel.org> References: <20260917142210.90829-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 design document uses "bp" for "basis point" in multiple places. Because it is not clearly mentioned, it is difficult to understand what "bp" stands for. Add the clarification. Reported-by: Randy Dunlap Closes: https://lore.kernel.org/107dc6ba-697e-4b25-ba3e-8ce2499cac9a@infrad= ead.org Acked-by: Randy Dunlap Signed-off-by: SJ Park Acked-by: Zenghui Yu (Huawei) --- Documentation/mm/damon/design.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/des= ign.rst index 0a86792f90a18..e82390e77a70a 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -445,7 +445,7 @@ users to set the aimed amount of access events to obser= ve via DAMON within given time interval. The target can be specified by the user as a ratio of DAMON-observed access events to the theoretical maximum amount of the even= ts (``access_bp``) that measured within a given number of aggregations -(``aggrs``). +(``aggrs``). The ratio is in basis point (bp or 1/10,000). =20 The DAMON-observed access events are calculated in byte granularity based = on DAMON :ref:`region assumption `. For @@ -717,7 +717,8 @@ mechanism tries to make ``current_value`` of ``target_m= etric`` be same to in microseconds that measured from last quota reset to next quota reset. DAMOS does the measurement on its own, so only ``target_value`` need to = be set by users at the initial time. In other words, DAMOS does self-feedb= ack. -- ``node_mem_used_bp``: Specific NUMA node's used memory ratio in bp (1/10= ,000). +- ``node_mem_used_bp``: Specific NUMA node's used memory ratio in basis po= int + (bp or 1/10,000). - ``node_mem_free_bp``: Specific NUMA node's free memory ratio in bp (1/10= ,000). - ``node_memcg_used_bp``: Specific cgroup's node used memory ratio for a specific NUMA node, in bp (1/10,000). --=20 2.47.3