From nobody Sun Sep 27 03:13:28 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 3CB083C8705; Sun, 6 Sep 2026 21:05: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=1788728723; cv=none; b=c37zQRV+ZhzcCO2ZPY+jSNDdoHqP+mOISstBF/pEuVQVTD4xyN0gCr2C93LMXpm3DnnBOfbmhnAbQW54ETmV7uH3TldTLlBi/5k6nqTaH5qncHEY3i1paCkUP2uV/aaXEdN0K7MtxXdB1jBPuihQI7yLWNznw6faTqHt5EjdGOQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788728723; c=relaxed/simple; bh=64A8eSI2cMClOGz3kyZmsTmWzNg+K9bSbEyPFRmR49E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TMBfshzTUWVW+GeBZsKglGvMcBuMc98x0vcfUqkUKeLIJ9zES8m4ay1ycpxhTNiHTFgKN3bcwM3DIArFADuHTyUHkuiV/XIBECEp+daptL8f/bth3Y+qc4CTwkAdpw5jOMiLwWTlOykyfM8B7yDTeo2pMvq7bFQQaKanJazLZ68= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Hev5VWS0; 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="Hev5VWS0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0091E1F00A3E; Sun, 6 Sep 2026 21:05:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788728722; bh=enJ6Ikb+xyWqp47h1SJ/IEbgrZU8ueGVdQgMTNLWdsg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Hev5VWS0XGTr1CiIZQoRlNatCSnZKU1ZWGfV/gemtU6nYfmgwkNgdevPYhOdvcIft H7WX182R8g6uqDQqJ2JNNIIDkqUmr5H8zR5GXjpbQfbeubTqJgfgo075kzWjAk5m54 jwwTumD/XDhtMuG4+OZpfRdWycm/Klu5RgNX1TNe0PAuibTmtbM1ahTEgPkseH+2Nt psK496Zlj8G8fu4R54TzMKogl2xswfhdYZX9ejbf+KOnkXKDoG1lo76zoG+Qs+eN8K tPLTvXxJB8TBgdfuzBAX6dyppUx0YiORIyz31qzZaZgKIjx7rzzMNvxqq6ao8nf07s aO6mZyYOVDKpA== From: SJ Park To: Cc: SJ Park , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 1/6] mm/damon/api: introduce DAMOS_FILTER_TYPE_PROBE_HITS_WSUM Date: Sun, 6 Sep 2026 14:05:07 -0700 Message-ID: <20260906210513.106895-2-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260906210513.106895-1-sj@kernel.org> References: <20260906210513.106895-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" Update DAMON kernel API to introduce new DAMOS core filter type, PROBE_HITS_WSUM. It will allow API callers to describe the DAMOS action target regions based on their probe_hits weighted sum. For describing the filtering target weighted sum range, add two type-dependent union fields to damos_filter. Signed-off-by: SJ Park --- include/linux/damon.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/linux/damon.h b/include/linux/damon.h index 871d26adf6ae5..59d57131d8327 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -399,6 +399,7 @@ struct damos_stat { * @DAMOS_FILTER_TYPE_UNMAPPED: Unmapped pages. * @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 and &DAMOS_FILTER_TYPE_TARGET @@ -420,6 +421,7 @@ enum damos_filter_type { DAMOS_FILTER_TYPE_UNMAPPED, DAMOS_FILTER_TYPE_ADDR, DAMOS_FILTER_TYPE_TARGET, + DAMOS_FILTER_TYPE_PROBE_HITS_WSUM, NR_DAMOS_FILTER_TYPES, }; =20 @@ -434,6 +436,8 @@ enum damos_filter_type { * &damon_ctx->adaptive_targets if @type is * DAMOS_FILTER_TYPE_TARGET. * @sz_range: Size range if @type is DAMOS_FILTER_TYPE_HUGEPAGE_SIZE. + * @range_min: Minimum value of range arguments. + * @range_mx: Maximum value of range arguments. * * Before applying the &damos->action to a memory region, DAMOS checks if = each * byte of the region matches to this given condition and avoid applying t= he @@ -450,6 +454,10 @@ struct damos_filter { struct damon_addr_range addr_range; int target_idx; struct damon_size_range sz_range; + struct { + unsigned long range_min; + unsigned long range_max; + }; }; /* private: */ /* List head for siblings. */ --=20 2.47.3 From nobody Sun Sep 27 03:13:28 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 DD1F93C9885; Sun, 6 Sep 2026 21:05: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=1788728724; cv=none; b=Ej9rkFVNfEQR4JuIyYpyEoTGEz9WwO7OaJOGE90Rx8HkP88jB+lYayiVp/CCyKBBPPDTMJDh9ncj3HBjUXIBzFc7FYO8KCe6vTx9P4b2GhBuaNEuwklyLMqI3hPnT4M+Hj5IsjrlIbMW/Txvp8w3ovpL/cdAYIvpB8vhlebp1Zo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788728724; c=relaxed/simple; bh=tYbGXcb0qnfSN33+x6et/LLdKLw2KZ5gfO/OCyF39B8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZOybj/riWOWyODDflZi990wOClkDinc9gz3Go+L5nLde7Uqahbp9yvPWMKZmfswFCVw+l9/yzWsatb29gFDF3FyjcutuYpQNblxEX6a5kTHA9yk6LwK8OP+Am7CGeMKo11ZaJb/fXQndYn+jwr218BBtVqoU3qO+1K1fc5H+Gpk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QayqpzHD; 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="QayqpzHD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4B89F1F00A3D; Sun, 6 Sep 2026 21:05:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788728722; bh=yd4lCB6dTAYrU/arXR8SQcBFL5XuW/pHu+vMb4NXhus=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=QayqpzHD16IlfVZM5Gglq53PCSNrzfSPPbd/9zNKg991mdo3gVo3+lqZew3+JL80o xbm9np+WP9bKdLQCN4yjd2pOHPKfPNHaCmhT/i9OKDcrIEGEzgvIV2bz/cc0GjvU2E lHFShHzmCm5FHEyyb1sHIvTJ3IbHwbodsdaIpQvnzUPhks+Kku7GIw2u1g5Nf+zCte tvChj9oKGJbHJJyXliQdWHeY47mdBYIGLUS0g2gd7QUZvpcWchfCddEwr9ulFabG7Q w5tT2Mukz6ZjIo2YGFrWbAUdfoAhXB1JRUirQuu8H2Al7WDMKYDCUjtBOZ9lnpPpeY Z/p14P9/KCUvQ== From: SJ Park To: Cc: SJ Park , Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 2/6] mm/damon/core: support probe_hits_wsum damos core filter Date: Sun, 6 Sep 2026 14:05:08 -0700 Message-ID: <20260906210513.106895-3-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260906210513.106895-1-sj@kernel.org> References: <20260906210513.106895-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" Implement probe_hits_wsum DAMOS core filter support in the core layer. Make three small changes for the support. First, update damos_filter_for_ops() to treat probe_hits_wsum filter as core filter. Second, Update destination damos_filter->range_{min,max} for probe_hits_wsum type damos filter commits. Third, extend damos_filter_match() to handle probe_hits_wsum type filter. Calculate the weighted sum of the given region and compare it with the given filter's target weighted sum range. Signed-off-by: SJ Park --- mm/damon/core.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 1752afede01e2..5b976162c5eed 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -654,6 +654,7 @@ bool damos_filter_for_ops(enum damos_filter_type type) switch (type) { case DAMOS_FILTER_TYPE_ADDR: case DAMOS_FILTER_TYPE_TARGET: + case DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: return false; default: break; @@ -1328,6 +1329,10 @@ static void damos_commit_filter_arg( case DAMOS_FILTER_TYPE_HUGEPAGE_SIZE: dst->sz_range =3D src->sz_range; break; + case DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: + dst->range_min =3D src->range_min; + dst->range_max =3D src->range_max; + break; default: break; } @@ -2506,7 +2511,7 @@ static bool damos_filter_match(struct damon_ctx *ctx,= struct damon_target *t, bool matched =3D false; struct damon_target *ti; int target_idx =3D 0; - unsigned long start, end; + unsigned long start, end, wsum; =20 switch (filter->type) { case DAMOS_FILTER_TYPE_TARGET: @@ -2541,6 +2546,11 @@ static bool damos_filter_match(struct damon_ctx *ctx= , struct damon_target *t, damon_split_region_at(t, r, end - r->ar.start); matched =3D true; break; + case DAMOS_FILTER_TYPE_PROBE_HITS_WSUM: + wsum =3D damon_probe_hits_wsum(r, false, ctx); + matched =3D filter->range_min <=3D wsum && + wsum <=3D filter->range_max; + break; default: return false; } --=20 2.47.3 From nobody Sun Sep 27 03:13:28 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 DD2943C9EEC; Sun, 6 Sep 2026 21:05: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=1788728724; cv=none; b=nekJplSuCw1qvTbu7ivIbXKAqFciu20eal8+4XA9q5warphvxEDGyKBpVr1STFlxc3vuqEdcQmuMFFTEzHtqlwLeNGM8nQzcSfxBDTgcAKMgls+Agv0fZH14EoORobKa9IVHoOdFyTmCQKOI1I2Rq2aiCJlbyWzI4ue6TEbKpJg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788728724; c=relaxed/simple; bh=fgvSLC/gXautyKR9CQkvAKHXgVlLvuXKciF4/d8Tuao=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PgCQ2Vlb0KZrqAP9Lv+d8QPWb1e45lo/ObpyRe1obYU6tLbW4FC/9iLognIP3ojKASVmCaDflHfxOPOn/HSmTyqWdnqd9tjHU+DmsqJMrdVuX2WNsdCyd2yzDgs51dLX4DWm5/q5gyMHl+xvwHBJFqLpZRAp8ySj1ZOjDuO47bc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Sz9smd3K; 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="Sz9smd3K" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C3411F00AC4; Sun, 6 Sep 2026 21:05:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788728722; bh=ILNnV2GNeZ514oIRb82a8/magMxY2v4d8tE00F50zJs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Sz9smd3K0kdpamyBM7yfwtN1T/yGLSKh6HIwF0592pndbKJYo92wSM89pOpSKGpv7 gSVM4PjNlbzIV7Ab0D7KROaeL6RObir5GFu4jRkC43c6JQMYK5NEVF917pv3QqxP6R jJwYD3fEIbxNOp0nr4iCbyB5G71GNWkDBOXaPGSKxHRYBUBRNodhk8/ZRWj0uzNUt2 Yls5FAzE6gytZm2ePvbhcIRoU4RpIGGIUMV877iR11qP66zBKrQCH7L34JIdTVIy2C y7qrb2bI3Toy6tSDMiw/5oXeIuRGieBOPj3zsE8Af/1cmJ/Qh8Hkubm+KAZW9VwP4/ usA5kqJdejTXQ== From: SJ Park To: Cc: SJ Park , Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 3/6] mm/damon/sysfs-schemes: rename sysfs_filter->sz_range to range_{min,max} Date: Sun, 6 Sep 2026 14:05:09 -0700 Message-ID: <20260906210513.106895-4-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260906210513.106895-1-sj@kernel.org> References: <20260906210513.106895-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 provides 'min' and 'max' files under the DAMOS filter directory. The purpose is setting the general range arguments for hugepage_size like filters that require range arguments. So far, hugepage_size was the only filter using it. Hence sz_range field of damon_sysfs_scheme_filter struct was connected to the files. In future, we could add a new filter that can reuse the 'min' and 'max' files. And the filter might use a range of a type that is not size. For example, probe_hits weighted sum. In this case, simply reusing the sz_range field would make it a little confusing. Rename sz_range to range_{min,max} to avoid such confusion. Signed-off-by: SJ Park --- mm/damon/sysfs-schemes.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index d9b81d7b5910e..4d9147d2a269e 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -534,7 +534,8 @@ struct damon_sysfs_scheme_filter { bool allow; char *memcg_path; struct damon_addr_range addr_range; - struct damon_size_range sz_range; + unsigned long range_min; + unsigned long range_max; int target_idx; }; =20 @@ -588,6 +589,7 @@ damos_sysfs_filter_type_names[] =3D { .type =3D DAMOS_FILTER_TYPE_TARGET, .name =3D "target", }, + }; =20 static ssize_t type_show(struct kobject *kobj, @@ -778,7 +780,7 @@ static ssize_t min_show(struct kobject *kobj, struct damon_sysfs_scheme_filter *filter =3D container_of(kobj, struct damon_sysfs_scheme_filter, kobj); =20 - return sysfs_emit(buf, "%lu\n", filter->sz_range.min); + return sysfs_emit(buf, "%lu\n", filter->range_min); } =20 static ssize_t min_store(struct kobject *kobj, @@ -786,7 +788,7 @@ static ssize_t min_store(struct kobject *kobj, { struct damon_sysfs_scheme_filter *filter =3D container_of(kobj, struct damon_sysfs_scheme_filter, kobj); - int err =3D kstrtoul(buf, 0, &filter->sz_range.min); + int err =3D kstrtoul(buf, 0, &filter->range_min); =20 return err ? err : count; } @@ -797,7 +799,7 @@ static ssize_t max_show(struct kobject *kobj, struct damon_sysfs_scheme_filter *filter =3D container_of(kobj, struct damon_sysfs_scheme_filter, kobj); =20 - return sysfs_emit(buf, "%lu\n", filter->sz_range.max); + return sysfs_emit(buf, "%lu\n", filter->range_max); } =20 static ssize_t max_store(struct kobject *kobj, @@ -805,7 +807,7 @@ static ssize_t max_store(struct kobject *kobj, { struct damon_sysfs_scheme_filter *filter =3D container_of(kobj, struct damon_sysfs_scheme_filter, kobj); - int err =3D kstrtoul(buf, 0, &filter->sz_range.max); + int err =3D kstrtoul(buf, 0, &filter->range_max); =20 return err ? err : count; } @@ -2835,12 +2837,13 @@ static int damon_sysfs_add_scheme_filters(struct da= mos *scheme, } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_TARGET) { filter->target_idx =3D sysfs_filter->target_idx; } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_HUGEPAGE_SIZE) { - if (sysfs_filter->sz_range.min > - sysfs_filter->sz_range.max) { + if (sysfs_filter->range_min > + sysfs_filter->range_max) { damos_destroy_filter(filter); return -EINVAL; } - filter->sz_range =3D sysfs_filter->sz_range; + filter->sz_range.min =3D sysfs_filter->range_min; + filter->sz_range.max =3D sysfs_filter->range_max; } =20 damos_add_filter(scheme, filter); --=20 2.47.3 From nobody Sun Sep 27 03:13:28 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 381F93CAA47; Sun, 6 Sep 2026 21:05: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=1788728724; cv=none; b=Py+n6nqbLz7EnfmzGAZiTsHe1H2is90j28rJs3VsQvqLb5n5T1diK5IvbCIeTiFGOw48jwCgILnFv7buSPDZ8HCtuxuIj1uOjtb1F696P5G6qp0gjXcpSXMvdYH088Wc6wEacTrKMAgnkfOejensSh3nDG7G3TqrLaOEOH+Q5NU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788728724; c=relaxed/simple; bh=5MPlXzTMzu+dtxnKFeJkCBo3NIMp4n5dweksJaeBp/I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bKTUHs7/hqDhU3QFFt1hKJQ0aZdaFsSg4wML1iHuTvQTXBE6UuTqDhR7z0jxVZcFeYXRK5znJV/XinNsb6ISt2G6CjYZjtLIhYg040UQRKXRn10ltmHUhVl2eH2e+Cao2JNtOt+4FCyBiMyZQrTlJVGIqoRMj7rL/D9ZzrBxZ+c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=azX6Hu6+; 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="azX6Hu6+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id ECFDF1F00A3F; Sun, 6 Sep 2026 21:05:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788728723; bh=KfRQdDvn8Y4M2LTyexgG1B+ohuNKkP22FbeL73FEnAc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=azX6Hu6+AM7WikMiNEgis2NfbDfVi+nNwMk8uq1WQ5j59Gx41P6zAzVDFJmKB2R9b VITdlxluRE7NjpziLnevoqTrfM9aglvtrXBemBnJoRsAh6zTDoANecthhYuhoHx07t TJDMYtAU/02VVKhbbAQrd0kv2q1Y7rT32uUVKIhFBKJQbKF3y7vSB9W71ppE3osmCQ ZyWuQq+EzTBOtwlc/9Vt0w+vKarkgxwDGHo/tSV1OnOGpm9tGDXZkgK6K7u58qPVuc 6OIG1Nr2x/tfZMCDgG5Dc8PZCc58D2dnF4EFMMVPjXzVVe20AGnkRlb+b6CGnWkTux 4hpkr2JL3e64A== From: SJ Park To: Cc: SJ Park , Andrew Morton , damon@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH 4/6] mm/damon/sysfs-schemes: setup range_{min,max} for probe_hits_wsum filter Date: Sun, 6 Sep 2026 14:05:10 -0700 Message-ID: <20260906210513.106895-5-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260906210513.106895-1-sj@kernel.org> References: <20260906210513.106895-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" Extend DAMON sysfs interface to support probe_hits_wsum input. Also update sysfs input based scheme build logic to setup the min/max probe hits weighted sum range as user provided. Signed-off-by: SJ Park --- mm/damon/sysfs-schemes.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 4d9147d2a269e..e297a20c0af03 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -589,7 +589,10 @@ damos_sysfs_filter_type_names[] =3D { .type =3D DAMOS_FILTER_TYPE_TARGET, .name =3D "target", }, - + { + .type =3D DAMOS_FILTER_TYPE_PROBE_HITS_WSUM, + .name =3D "probe_hits_wsum", + }, }; =20 static ssize_t type_show(struct kobject *kobj, @@ -2844,6 +2847,14 @@ static int damon_sysfs_add_scheme_filters(struct dam= os *scheme, } filter->sz_range.min =3D sysfs_filter->range_min; filter->sz_range.max =3D sysfs_filter->range_max; + } else if (filter->type =3D=3D DAMOS_FILTER_TYPE_PROBE_HITS_WSUM) { + if (sysfs_filter->range_min > + sysfs_filter->range_max) { + damos_destroy_filter(filter); + return -EINVAL; + } + filter->sz_range.min =3D sysfs_filter->range_min; + filter->sz_range.max =3D sysfs_filter->range_max; } =20 damos_add_filter(scheme, filter); --=20 2.47.3 From nobody Sun Sep 27 03:13:28 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 E3F113CB550; Sun, 6 Sep 2026 21:05: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=1788728725; cv=none; b=GDOoRhMxnPvPXz30YGv1yO7nlHjGJi9mmxwBr+gQbGa09PVFs/KZJUm1RNCRWIjJpZ2zh/0RmWxlphe/WOyaj4z7vK8/5M/9py9rollRptEsama9ICI2A3depF/sCjXLfC3TJmisdLnHeA0Vjn5o8rIY9zQ4QEF/b7JlViPbxeo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788728725; c=relaxed/simple; bh=+pwt7ytLNv7N/tXD0TT/aWOG89chC7GSwPZ5TDexaSo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cQzwX9d2PMJXPtZCXW7ec+jHInGBQ3l3tOfuOUCCwsxXPPzXfsavqiMlw7eg3t9RvDkS7uP2XAwX2DJzVEtnzvlwuoFJ5iWlK2KR10yOgvIMvsxvzSPMvNIB5rGWrAf+zXk8m/G31wQ6H8U3t/PRQbgsKQUQmGlp4+Iskqm3VPQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=htbz0YDU; 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="htbz0YDU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 468DA1F00ACA; Sun, 6 Sep 2026 21:05:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788728723; bh=3QelAmhdJ8KPxvwLkmNC9X/53BNSeYX//IkIfked+Kg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=htbz0YDUclUY/USoVqbx+699rw+fijvDqArrnnwYlY32YFEjMnKjnrH05v6egTGJD 1+MZUPoGg3ElOWf2EI1tvjZCzjRL28nQDsNidGwjJROUEKiZsyoH9L8p4Pe8wVRJpp iuJL4VMhuURn5Q1vTxPFzY/uJ0yoRAt4d6CQEwr8z4HZnU3nINn/QLsTFqPQlEZHew +YuJcrKhF4T/hyaWUs79Vb0RlQxVmWeId9ObSd8CFyR8wNfSxbw1I71MxjRIg+OEoI l+6gvp0FSLV8vQgL0qG6i/rPG0OEJALLvNOnELFHg7tSjK+yXD7vQ2H7lOTHXdbN/O NIoJr2g/+L/mQ== From: SJ Park To: Cc: SJ Park , "Liam R. Howlett" , Andrew Morton , 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: [RFC PATCH 5/6] Docs/mm/damon/design: update for probe_hits_wsum DAMOS core filter Date: Sun, 6 Sep 2026 14:05:11 -0700 Message-ID: <20260906210513.106895-6-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260906210513.106895-1-sj@kernel.org> References: <20260906210513.106895-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" Update DAMON design document for the newly added probe hits weighted sum based DAMOS core filter type. Signed-off-by: SJ Park --- Documentation/mm/damon/design.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/des= ign.rst index aac84de261aa8..8e980dde362de 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -822,6 +822,9 @@ Below ``type`` of filters are currently supported. - Applied to pages that belonging to a given address range. - target - Applied to pages that belonging to a given DAMON monitoring targ= et. + - probe_hits_wsum + - Matches to monitoring regions having a given range of :ref:`probe + hits weighted sum ` value. - Operations layer handled, supported by only ``paddr`` operations set. - anon - Applied to pages that containing data that not stored in files. --=20 2.47.3 From nobody Sun Sep 27 03:13:28 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 990EC3CC9E9; Sun, 6 Sep 2026 21:05:24 +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=1788728725; cv=none; b=PpvlfjNWkcvISvKQibbgtOW+3PGgp6bUzDtsE9rBTVyKc5pEODPnXX+OSe1q0bAYFY+WklR+Hc8ImYRZrTgi5tupIOFbVCp7dMUDzBA1JBHRjl/kuTFrKr20mpjFdmsLcfT0bsJSBrv5XvIIhZtAyg7qefU41xGl4tavMimZlaI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788728725; c=relaxed/simple; bh=mVf9wc6j2RBh8UGDkyG+fy24tCnZhupeyl66dUumXGM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OYJIshQJwfHVF+x10V1nL6cOWghb96gm3PQx1uYaaKuWBzm1zIOZndgPr1LydRvi4lfGpqsbuAHglFU/9UwtwF5QXbSXLLVU0xHeWlb3pQHalDFNk2nwRnMaHHTxTBz4mzCn7/yAA7/CpKjWqdNHY+i5aDH5nF6xsmny9E48Sbo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TgRqBFwg; 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="TgRqBFwg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 000641F00A3A; Sun, 6 Sep 2026 21:05:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788728724; bh=0/q3LnB7iB4S2lxLwjnJON3GEVnAZWX6/MrZWM0ze7E=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=TgRqBFwgOPf3NMLYWOjMTAvyvYfHyN86wytu557lkYoCpLgMwBUT9VyLlJQBFZeqg fd95Nzz+4Y2fzuEeI4rHRwzQshf8HTMpxIDhTLtEPGlwBNFH3NLYIA2H/pX0jzRj5J c/06X0wsiGIIg1aZ7rJIoBv4QZRMX3hIFN2JPc408xfZqWzGGYdIfJWG1kX8VJQOOR crLO3lqhAL5zX7CaEAf0I7dgrGwnPRISeDqgmz/9rLRKcDCEYFT9szlftqcP0hckw5 JIuep0JKqu0qMUuDiNKSlRBFHTS0k1hn3Fm79ZARebJPk3x+UiC0z77YyKETOptULP AeFVYTNn9OsUA== From: SJ Park To: Cc: SJ Park , "Liam R. Howlett" , Andrew Morton , 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: [RFC PATCH 6/6] Docs/admin-guide/mm/damon/usage: update for probe_hits_wsum DAMOS filter Date: Sun, 6 Sep 2026 14:05:12 -0700 Message-ID: <20260906210513.106895-7-sj@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260906210513.106895-1-sj@kernel.org> References: <20260906210513.106895-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" Update DAMON usage document for the newly added probe hits weighted sum based DAMOS core filter type. Signed-off-by: SJ Park --- Documentation/admin-guide/mm/damon/usage.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/a= dmin-guide/mm/damon/usage.rst index 023c6334024f8..d3e37400367bd 100644 --- a/Documentation/admin-guide/mm/damon/usage.rst +++ b/Documentation/admin-guide/mm/damon/usage.rst @@ -551,6 +551,10 @@ and ``damon_target_idx``. To ``type`` file, you can w= rite the type of the filter. Refer to :ref:`the design doc ` for available type names, their meaning and on what layer those are handled. =20 +For ``probe_hits_wsum`` type, you can specify the minimum and maximum probe +hits weighted sum value for the filter to ``min`` and ``max`` files, +respectively. + For ``memcg`` type, you can specify the memory cgroup of the interest by writing the path of the memory cgroup from the cgroups mount point to ``memcg_path`` file. For ``addr`` type, you can specify the start and end --=20 2.47.3