From nobody Sun Dec 14 02:01:16 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 8091B56B81; Tue, 13 May 2025 00:27:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096042; cv=none; b=rP6olKwNhzJ0+2bPDJShayJX3bCp21U1I+b8jZkkFiZrYYmIP5aCtrS9pZ1cqdhWFxd9oYxSdyW7dvYJh2CexWIY6NRXNM32HIku0SRb3sooSRi0yPboSrldj3EgqtLYxI/XXoCdAZzxat+Molsa2qsNCioDf7JYF7ZSDrV+oUQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096042; c=relaxed/simple; bh=yewlievy6Qnuy2etyGnbRM4hLG3L14FNoqWuRtiYgHE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=E7lGznPj2Wjnk5sR2FfN4tFmI2wyUJQtPGdCyhxfAzpVwI5SKDROVLqtEzaad1lL6lf85CkAbzpCgkNdI7thwbRM+s+kVoD4U0r0pu5MtOA8WnYQp6eximNI0dADkZNbGxMYOaDg3oP8lKOHEKPFeNQnk4qfv7jYzqYyQrbZx0c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=u5S/RKCJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="u5S/RKCJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B84A7C4AF09; Tue, 13 May 2025 00:27:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747096041; bh=yewlievy6Qnuy2etyGnbRM4hLG3L14FNoqWuRtiYgHE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=u5S/RKCJfJEh62ST1HmV5elMRoGVTSM+ZcG6nF1/Wg734Ij1D2uBaCWmrQQikg5Iq oB2oh21+VqNJHc101yJXOeF1wJ7agjFCsZw/Wy0L7bHs+cb354gt1r78xRdzu8QfIC 9wPD6vTFGODaAdefk7qSyMv/0zvVYpqqdHtwy4CLI6EkJnnu9brStX7MHJ71vxyDt6 TM2J2GbkRKd0NO26aRYk6eHuD31YFzZnHhFT5vAoWXOedHiivUBB8jwOCTW2TnOmuT DQklln2I+0Sg2PIz7X5g4IvIiJGtCwCymbxOXLxJ1ui2FYsdlFB3VQK7t9WMXfr3xF ZXcR6rpH6Av4w== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 1/6] mm/damon/core: warn and fix nr_accesses[_bp] corruption Date: Mon, 12 May 2025 17:27:10 -0700 Message-Id: <20250513002715.40126-2-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250513002715.40126-1-sj@kernel.org> References: <20250513002715.40126-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" For a bug such as double aggregation reset[1], ->nr_accesses and/or ->nr_accesses_bp of damon_region could be corrupted. Such corruption can make monitoring results pretty inaccurate, so the root causing bug should be investigated. Meanwhile, the corruption itself can easily be fixed but silently fixing it will hide the bug. Fix the corruption as soon as found, but WARN_ONCE() so that we can be aware of the existence of the bug while keeping the system running in a more sane way. [1] https://lore.kernel.org/20250302214145.356806-1-sj@kernel.org Signed-off-by: SeongJae Park --- mm/damon/core.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mm/damon/core.c b/mm/damon/core.c index 587fb9a4fef8..0bb71e2ab713 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -1391,6 +1391,19 @@ int damos_walk(struct damon_ctx *ctx, struct damos_w= alk_control *control) return 0; } =20 +/* + * Warn and fix corrupted ->nr_accesses[_bp] for investigations and preven= ting + * the problem being propagated. + */ +static void damon_warn_fix_nr_accesses_corruption(struct damon_region *r) +{ + if (r->nr_accesses_bp =3D=3D r->nr_accesses * 10000) + return; + WARN_ONCE(true, "invalid nr_accesses_bp at reset: %u %u\n", + r->nr_accesses_bp, r->nr_accesses); + r->nr_accesses_bp =3D r->nr_accesses * 10000; +} + /* * Reset the aggregated monitoring results ('nr_accesses' of each region). */ @@ -1404,6 +1417,7 @@ static void kdamond_reset_aggregated(struct damon_ctx= *c) =20 damon_for_each_region(r, t) { trace_damon_aggregated(ti, r, damon_nr_regions(t)); + damon_warn_fix_nr_accesses_corruption(r); r->last_nr_accesses =3D r->nr_accesses; r->nr_accesses =3D 0; } --=20 2.39.5 From nobody Sun Dec 14 02:01:16 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 AE4133C465; Tue, 13 May 2025 00:27:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096043; cv=none; b=GVJxQICHZGYcZ/1j8qVb/WIikviCA9aTJM2oV85loWUuOPapaOi/eujEADZLmTSRBSRcmeS4o6zvQGfN7gGSkYtnfQty8cr15vdiVdm3DjvjgiHKsDuYYxVMc3RABWenyoEABfx5XyNyxEOHI3wJC89TJwsMGzmyLwTXYubKkU0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096043; c=relaxed/simple; bh=+UepWcvB4j5IIdMlwj/7IUz2JlnuDciOXP00Kk2kwfI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eCPvjTo/dXtkjSoVFzJnOjBalcDHEBjtX2xCjZ0DxkInf/WtYLsQ/i42GKTvmcQc1Iim7AaXEGh23koW1mk0B22rvvdLeDh08QIEFPnLWTOv5Wlye7+r87xJ3IHaYdlpIWOp7UWtEvV7OmqrWmQdGmrdmtEZmF3koAYEaJ6g/+s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZGM7q6NY; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZGM7q6NY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F0960C4AF0B; Tue, 13 May 2025 00:27:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747096043; bh=+UepWcvB4j5IIdMlwj/7IUz2JlnuDciOXP00Kk2kwfI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZGM7q6NY0RGPtma6XKBKBDTDVamsbLcEe129SvMTYo/pYQTrlXI6ShYDpvNxv0GLU hR9GO6oLEDQTcSi6abxDzJCmpRDJVsnee66r8l7krBy87wh+iwsAXvTvDTdyxYzdTc 8DiCetR/htAIJrF1RghTokeTAUhEJU5g0zwjcp+HM5Lv/wSMhoJ1WvYvtEQ96XceSL +yDu+X9qcuJnV7WLQHB5Ze1t3bXAWCNcMSddl5DCiNYQU9wnUoxyuSjdnIaLiV4irl WF+JtuIFW/2D/GBPh9jwnIR8IKqvc0Um7IOzTycboL6MIkg1YnU0fIqd7q8v1N0vgX DuZ8j0AwpRzUQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 2/6] mm/damon/sysfs-schemes: fix wrong comment on damons_sysfs_quota_goal_metric_strs Date: Mon, 12 May 2025 17:27:11 -0700 Message-Id: <20250513002715.40126-3-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250513002715.40126-1-sj@kernel.org> References: <20250513002715.40126-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" A comment on damos_sysfs_quota_goal_metric_strs is simply wrong, due to a copy-and-paste error. Fix it. Signed-off-by: SeongJae Park --- mm/damon/sysfs-schemes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index c2b8a9cb44ec..0f6c9e1fec0b 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -940,7 +940,7 @@ struct damos_sysfs_quota_goal { int nid; }; =20 -/* This should match with enum damos_action */ +/* This should match with enum damos_quota_goal_metric */ static const char * const damos_sysfs_quota_goal_metric_strs[] =3D { "user_input", "some_mem_psi_us", --=20 2.39.5 From nobody Sun Dec 14 02:01:16 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 79D4E145A03; Tue, 13 May 2025 00:27:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096044; cv=none; b=imUWRoQvMGMXiRmAf7AV2/P1MMYO0saeWD3wfIRyr+O4i+XpUQbqJtWs9F2jQE3J/PxRF69ntHVfLnOqzl8w9KeEjAexNfokb+C3Y/NFOig3ubkQN2/xdFIl91F/7Py48N39KqdtAbxJb+OUat7XgEOcjMcPshybpvCfjvuBcDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096044; c=relaxed/simple; bh=Iasq73PJLgx1anHaIVswYQx4Nq1K0KmoGxN00BPcit8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ruE5+uOVUnrTnyw/7lCUXGWm0orDdc0g2tAMi9jy44/B7cLyC9VSpfxuiRV43QVKSULKWIDbzCHfVBVvNED5qvezRoYjgSm0gmvEK/fT6FBYbuninZs06emor9cr42pGzwikz95dE+yKCuOwpnPBGwPn+FhS7dcamb6eLYZExvw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZvYMViSA; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZvYMViSA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D1F2C4CEEE; Tue, 13 May 2025 00:27:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747096044; bh=Iasq73PJLgx1anHaIVswYQx4Nq1K0KmoGxN00BPcit8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZvYMViSAXi08PUHWi4jcDJf/7X0MBPFQGW/A4Ig4/HR6YMPJr07N9lWgtAh6s7Gg9 nvgicrumVe8Nrb4bnTykQ192t/+P1gO8v/0FH9+hRplERoKO3ZP9OrW0pE2y0OBo+i FR902Odp0Q60NBqEwSutLMpMBXOXJsf+ClpFQ4CuVGtAOF4oHki8pEfvQatu5yTIqF T7rqx9UPESuPEIX0UOtZpUvP8aVgmR1DmvM+Ge2W+lxLme29+5kvpKlXrUMQOy0cDd 5h6T97Kofa5Fx2gnRgmIjgB9ZzIKU+Vc6xRrDj9+HzMlOFyOJK8S19csAMV4zYSsBf sSYE1LERyy/9w== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 3/6] mm/damon/paddr: remove unused variable, folio_list, in damon_pa_stat() Date: Mon, 12 May 2025 17:27:12 -0700 Message-Id: <20250513002715.40126-4-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250513002715.40126-1-sj@kernel.org> References: <20250513002715.40126-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 c0cb9d91bf297 ("mm/damon/paddr: report filter-passed bytes back for DAMOS_STAT action") added unused variable in damon_pa_stat(), due to a copy-and-paste error. Remove it. Fixes: c0cb9d91bf297 ("mm/damon/paddr: report filter-passed bytes back for = DAMOS_STAT action") Signed-off-by: SeongJae Park --- mm/damon/paddr.c | 1 - 1 file changed, 1 deletion(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 1b70d3f36046..e8464f7e0014 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -548,7 +548,6 @@ static unsigned long damon_pa_stat(struct damon_region = *r, struct damos *s, unsigned long *sz_filter_passed) { unsigned long addr; - LIST_HEAD(folio_list); struct folio *folio; =20 if (!damon_pa_scheme_has_filter(s)) --=20 2.39.5 From nobody Sun Dec 14 02:01:16 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 13D98155A59; Tue, 13 May 2025 00:27:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096046; cv=none; b=Z6ZG84lsCGxrMIF/LuLqWi+EHxxWaMWlaIr0aUjXHsBqE68FyqmkWxEwVHm1iu1dMGr+PsEi+w33jTD+0azVUv+ZYdSuQJ/W8+ndQ7FJePc0qcro79A77FVxx34vdIrQGeYVGMn8BLRQeNNCLu9mESQ8mOZGwhEk1oMC7TBYnGQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096046; c=relaxed/simple; bh=M92/gov+YRjIS6VM2BRObVBgAlR9lw1xuX3y69/FgHQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=XR/r5f/1Rw359lEUk54ecS5kJ7ssvlC3WeYarL760NE20eKiBT4frx9Qr3ug1UAkl4SJsA5jd+hRJPAkFjQr3VxvNCtaYAQReu4pU5gSPH1Bgw3Co/ccnsq7K8vUqaQE7/BKtTr8O2UymdVdsoSWnF/DStDbhoJLsyGWXMMxUYw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TFUI/QYe; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TFUI/QYe" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5EA7EC4CEEE; Tue, 13 May 2025 00:27:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747096045; bh=M92/gov+YRjIS6VM2BRObVBgAlR9lw1xuX3y69/FgHQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TFUI/QYeXvnLV1j1ziIYgAjnNmTfT37e+HvuxaYLy3iKGlkp70GFZglavMkpdwr7N ofWw+Sze4MkTYLXAzI+i955ustgk2/vvqCE7OIlrcP7rfJu790BgE/YgrlFjpExHG4 vhEkXlWt0Fr4rx09/Segf6ZE2FdQE+/6rBsDKwRyNWjcCt+j7XAQXMDiQmzbK0Pf+q CtHHoSNXqE77P+jTRI3/BMzxYJkHjow7HAsyXjnH0jWVMwZTzTvg/GSl3Cu73Ej5O0 gX7kSvQwG5aLugFO7NTc/o4631ilxefS9Y/qJKqBzURm9DQmF5XInOzraGRB4HeCfA ux1tAg94iO1rQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Brendan Higgins , David Gow , damon@lists.linux.dev, kernel-team@meta.com, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 4/6] mm/damon/tests/core-kunit: add a test for damos_set_filters_default_reject() Date: Mon, 12 May 2025 17:27:13 -0700 Message-Id: <20250513002715.40126-5-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250513002715.40126-1-sj@kernel.org> References: <20250513002715.40126-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 filters' default reject behavior is not very simple. Actually there was a mistake[1] during the development. Add a kunit test for validating the behavior. [1] https://lore.kernel.org/20250227002913.19359-1-sj@kernel.org Signed-off-by: SeongJae Park --- mm/damon/tests/core-kunit.h | 70 +++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/mm/damon/tests/core-kunit.h b/mm/damon/tests/core-kunit.h index be0fea9ee5fc..298c67557fae 100644 --- a/mm/damon/tests/core-kunit.h +++ b/mm/damon/tests/core-kunit.h @@ -510,6 +510,75 @@ static void damon_test_feed_loop_next_input(struct kun= it *test) damon_feed_loop_next_input(last_input, 2000)); } =20 +static void damon_test_set_filters_default_reject(struct kunit *test) +{ + struct damos scheme; + struct damos_filter *target_filter, *anon_filter; + + INIT_LIST_HEAD(&scheme.filters); + INIT_LIST_HEAD(&scheme.ops_filters); + + damos_set_filters_default_reject(&scheme); + /* + * No filter is installed. Allow by default on both core and ops layer + * filtering stages, since there are no filters at all. + */ + KUNIT_EXPECT_EQ(test, scheme.core_filters_default_reject, false); + KUNIT_EXPECT_EQ(test, scheme.ops_filters_default_reject, false); + + target_filter =3D damos_new_filter(DAMOS_FILTER_TYPE_TARGET, true, true); + damos_add_filter(&scheme, target_filter); + damos_set_filters_default_reject(&scheme); + /* + * A core-handled allow-filter is installed. + * Rejct by default on core layer filtering stage due to the last + * core-layer-filter's behavior. + * Allow by default on ops layer filtering stage due to the absence of + * ops layer filters. + */ + KUNIT_EXPECT_EQ(test, scheme.core_filters_default_reject, true); + KUNIT_EXPECT_EQ(test, scheme.ops_filters_default_reject, false); + + target_filter->allow =3D false; + damos_set_filters_default_reject(&scheme); + /* + * A core-handled reject-filter is installed. + * Allow by default on core layer filtering stage due to the last + * core-layer-filter's behavior. + * Allow by default on ops layer filtering stage due to the absence of + * ops layer filters. + */ + KUNIT_EXPECT_EQ(test, scheme.core_filters_default_reject, false); + KUNIT_EXPECT_EQ(test, scheme.ops_filters_default_reject, false); + + anon_filter =3D damos_new_filter(DAMOS_FILTER_TYPE_ANON, true, true); + damos_add_filter(&scheme, anon_filter); + + damos_set_filters_default_reject(&scheme); + /* + * A core-handled reject-filter and ops-handled allow-filter are installe= d. + * Allow by default on core layer filtering stage due to the existence + * of the ops-handled filter. + * Reject by default on ops layer filtering stage due to the last + * ops-layer-filter's behavior. + */ + KUNIT_EXPECT_EQ(test, scheme.core_filters_default_reject, false); + KUNIT_EXPECT_EQ(test, scheme.ops_filters_default_reject, true); + + target_filter->allow =3D true; + damos_set_filters_default_reject(&scheme); + /* + * A core-handled allow-filter and ops-handled allow-filter are + * installed. + * Allow by default on core layer filtering stage due to the existence + * of the ops-handled filter. + * Reject by default on ops layer filtering stage due to the last + * ops-layer-filter's behavior. + */ + KUNIT_EXPECT_EQ(test, scheme.core_filters_default_reject, false); + KUNIT_EXPECT_EQ(test, scheme.ops_filters_default_reject, true); +} + static struct kunit_case damon_test_cases[] =3D { KUNIT_CASE(damon_test_target), KUNIT_CASE(damon_test_regions), @@ -527,6 +596,7 @@ static struct kunit_case damon_test_cases[] =3D { KUNIT_CASE(damos_test_new_filter), KUNIT_CASE(damos_test_filter_out), KUNIT_CASE(damon_test_feed_loop_next_input), + KUNIT_CASE(damon_test_set_filters_default_reject), {}, }; =20 --=20 2.39.5 From nobody Sun Dec 14 02:01:16 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 3FC7A17A2FB; Tue, 13 May 2025 00:27:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096047; cv=none; b=WQN8rUksWiozFXz+A2LJzdAoIg4gD9twsTciTmNJwnAoLrFHCt0I9NSE2sA62wtGV6cc7cqA+p9HLoWo9F6RRFWNfUZxJX85TCiT1TjMuQkCndGW9WKjSw8qqXd8r8DagdzyL01dAgpPxKE9NaNdUlYcIxsznV7NzfG/lQbeF0o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096047; c=relaxed/simple; bh=Kq774euQahjIko8eUiFaGLC1QQneONlcs60NmxkuDqE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cWzBOVJ0y9n2jayX/LDWkRkNYRAnlDwUvkefr4y9qBVHwYt8O5/Eq2TL+TG+hSBRKipzlDlSdq8nBZWFkiwag4mGwRXehGzt3qRTlvqyLPYSvmCHL5mkyZ7d/v6Yq6UJe84EyeavfARbBX6/5k54d11Z3sRzcpq0Y9ZPL5MeW2k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=keqNycxn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="keqNycxn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 87761C4CEEE; Tue, 13 May 2025 00:27:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747096046; bh=Kq774euQahjIko8eUiFaGLC1QQneONlcs60NmxkuDqE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=keqNycxnz/pem+JSEuoq1rUfCCvG0qe8O55lYRRFzUAOz0a6Lzx4u/uxGEv/FGvm8 C3G7j+QzhDxCG/asMT6qQ9Bc7v1msNnNNWDrU3R5fFeNpGCkuo3fGWMYFYGnp3Lgws vWDOEq2oLEM7Z4bPrkfwCw20KWQS+zDxfpLt2JzuBevPGu5uZZWkDzaVb1rigg8sjv vzcv86UR1bowxSO4vKvcC6fpYaQSG2eHUv1fwWHwuLWIJk2vgMCX6G4/LiATQlHPdD CQrt8abZBF+4/pcf0QcnemREPQ4OT9U3ovy3n63DHCAjvGlyqC7YR4EqowcKOJMMgg M47Xa0H2pV4Cg== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Shuah Khan , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 5/6] selftests/damon/_damon_sysfs: read tried regions directories in order Date: Mon, 12 May 2025 17:27:14 -0700 Message-Id: <20250513002715.40126-6-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250513002715.40126-1-sj@kernel.org> References: <20250513002715.40126-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.update_schemes_tried_regions() reads and stores tried regions information out of address order. It makes debugging a test failure difficult. Change the behavior to do the reading and writing in the address order. Signed-off-by: SeongJae Park --- tools/testing/selftests/damon/_damon_sysfs.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/testing/selftests/damon/_damon_sysfs.py b/tools/testing/= selftests/damon/_damon_sysfs.py index 6e136dc3df19..1e587e0b1a39 100644 --- a/tools/testing/selftests/damon/_damon_sysfs.py +++ b/tools/testing/selftests/damon/_damon_sysfs.py @@ -420,11 +420,16 @@ class Kdamond: tried_regions =3D [] tried_regions_dir =3D os.path.join( scheme.sysfs_dir(), 'tried_regions') + region_indices =3D [] for filename in os.listdir( os.path.join(scheme.sysfs_dir(), 'tried_regions')): tried_region_dir =3D os.path.join(tried_regions_dir, f= ilename) if not os.path.isdir(tried_region_dir): continue + region_indices.append(int(filename)) + for region_idx in sorted(region_indices): + tried_region_dir =3D os.path.join(tried_regions_dir, + '%d' % region_idx) region_values =3D [] for f in ['start', 'end', 'nr_accesses', 'age']: content, err =3D read_file( --=20 2.39.5 From nobody Sun Dec 14 02:01:16 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 15CB5188596; Tue, 13 May 2025 00:27:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096048; cv=none; b=gR2urQ3Tusw3JsyRrpJP/4P6REXY81n9MZH5/9EQrCDK4oCI3Q2mu/L7HF7qkXKwjNpF3KNrEYd94lxCuuVpzVEHkhoSwMMikuG/5cj7jkKTsgwWFcl3SETW0wkkpI56eFFm5Oh6HImKYvk0mgmeg98Px3h/2Cbths4VofBeUJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747096048; c=relaxed/simple; bh=kXvluihMNMWvXVIh9NrJQXQKlW2y25lXBUZDLEXI/WQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=SN0ATPwhXVMUYhpux7h5QFv3s2kWlxPTRfLeyXHLhDmkOse7T0goy5vHHZefBZUXjOVlga7wHdkphn+/f5AJ5CDQzDHSooRcAKH8wSi2r3YyxrY7j6cMzcKJGQyjSiGT7EQPHFedYxUYRnqhuQJK4lnPJdspBTB1XSis0YXB9ko= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=k9EcfgqH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="k9EcfgqH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BD292C4CEEE; Tue, 13 May 2025 00:27:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747096048; bh=kXvluihMNMWvXVIh9NrJQXQKlW2y25lXBUZDLEXI/WQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=k9EcfgqHtoB6ntSBYpKDbE2bsmlHPDDlnuBt9qKx9PmWq8mqZnUDfbxSeWiFjZ1bP hdOTFuBVgmyQ2PiR8C2cgyKaESGy/2F/k0RkQpv0RGbaBqlVs4YbIHFyVtwU7yHZ5Y AVB+e3R3xJ8NZ2DvnPoILVqsczzlRzMYFgABcuBfpRB9JcAlQ4v+ck1T850KRua+yf uvizGCLwGJCbsRy7iW8fC+P37sFuXZQ1o02tQ0Ul/Ld6TOdbPvdFXU7/Ycxv/glRpC 8Dpy0kslsKhRwGDE5Bdn86SCBmlOvpdsEBtK9fc8qthdyZHmRKHCJj48M/HK1JFA6Z zkwQzLbzw/E7w== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Jonathan Corbet , damon@lists.linux.dev, kernel-team@meta.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 6/6] Docs/damon: update titles and brief introductions to explain DAMOS Date: Mon, 12 May 2025 17:27:15 -0700 Message-Id: <20250513002715.40126-7-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250513002715.40126-1-sj@kernel.org> References: <20250513002715.40126-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 was initially developed only for data access monitoring, and then extended for not only access monitoring but also access-aware system operations (DAMOS). But the documents have old titles and brief introductions for only the monitoring part. Update the titles and the brief introductions to explain DAMOS part together. Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/index.rst | 11 +++++------ Documentation/mm/damon/index.rst | 6 +++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Documentation/admin-guide/mm/damon/index.rst b/Documentation/a= dmin-guide/mm/damon/index.rst index 33d37bb2fb4e..bc7e976120e0 100644 --- a/Documentation/admin-guide/mm/damon/index.rst +++ b/Documentation/admin-guide/mm/damon/index.rst @@ -1,12 +1,11 @@ .. SPDX-License-Identifier: GPL-2.0 =20 -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D -DAMON: Data Access MONitor -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +DAMON: Data Access MONitoring and Access-aware System Operations +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 -:doc:`DAMON ` allows light-weight data access monitoring. -Using DAMON, users can analyze the memory access patterns of their systems= and -optimize those. +:doc:`DAMON ` is a Linux kernel subsystem for efficient d= ata +access monitoring and access-aware system operations. =20 .. toctree:: :maxdepth: 2 diff --git a/Documentation/mm/damon/index.rst b/Documentation/mm/damon/inde= x.rst index 5a3359704cce..31c1fa955b3d 100644 --- a/Documentation/mm/damon/index.rst +++ b/Documentation/mm/damon/index.rst @@ -1,8 +1,8 @@ .. SPDX-License-Identifier: GPL-2.0 =20 -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D -DAMON: Data Access MONitor -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +DAMON: Data Access MONitoring and Access-aware System Operations +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 DAMON is a Linux kernel subsystem that provides a framework for data access monitoring and the monitoring results based system operations. The core --=20 2.39.5