From patchwork Tue Mar 4 21:19:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14001422 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C309C021B8 for ; Tue, 4 Mar 2025 21:19:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12C086B0082; Tue, 4 Mar 2025 16:19:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0DC226B0085; Tue, 4 Mar 2025 16:19:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F0D386B0088; Tue, 4 Mar 2025 16:19:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D20C76B0082 for ; Tue, 4 Mar 2025 16:19:19 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 8F10AC0638 for ; Tue, 4 Mar 2025 21:19:19 +0000 (UTC) X-FDA: 83185134438.17.DE45B47 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf04.hostedemail.com (Postfix) with ESMTP id E310F4000A for ; Tue, 4 Mar 2025 21:19:17 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=GM2e7ceG; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf04.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741123158; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=sI7akioWF+8L0MTcFj29oppXfJfb5dPzlqVQ5dnXaYs=; b=LABXpg+BiyGCHdnoZqPS1cO+3hPQYA53CHlRZHCCI7FehJXmvPZczwCWbKrTDC79FFv8hs facsd7GSwoeqm8/++Ol+9Y36MsLe60iCRFVNo5I/bGEzUROOSRn5clE2NBdFJy+m2VS5jx 0IyW9+5dR167CKzCzQez38dJmYKJofI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741123158; a=rsa-sha256; cv=none; b=HWI4j1uyqGtKOHza3+oAtjq03/Ggnt0opw6iKI4RFAHWaTtB/SRt7Ca4UwdgfOS2JriLlB qX0v+6Y+xx7M6d6797gBO+QvaPmWs1SH5E7jl/i697mLXEhKsV3NHwYX2gleDyYwLT/deQ LdRCd5QusNu8tPe2ERUY4EbgBny7hXI= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=GM2e7ceG; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf04.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 5CCEFA45F71; Tue, 4 Mar 2025 21:13:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6307C4CEE5; Tue, 4 Mar 2025 21:19:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741123156; bh=vX02kc1a3L/e3wLRY5G+48R1DF8rMoBAD1qr+V7KmLs=; h=From:To:Cc:Subject:Date:From; b=GM2e7ceG1u1x75TI8kzbLFCehMSFdYJP/dMe4nLeRhezgFMjCWxgrM9DfeyNEVJpq muUYAfkC1Hq6iAiE0ijwq5U+BfSmXdG7DPWUMESs2PQtR5l7SfKHxGA0HFQNGmhgWJ Cb6AWS5As73tyNc+wiAf3KBwYemSGzMRZINE3vPE75sShPeUIF4l7SEG2+SmbZtuRB jQs5PoGLH3FxcW6Vnb/0SQn0kLa98zXLfb6JSPl+95KcmOwtx09S/Zkwx42SZLMQCY HedVYTEfWsdxnEvpeQ70GEkDaPB+k3662deL/LUgjm2xfCtcQRfZM+CG8l0SVMVhWb bWIybjFWam0Pw== 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 0/9] mm/damon: make allow filters after reject filters useful and intuitive Date: Tue, 4 Mar 2025 13:19:04 -0800 Message-Id: <20250304211913.53574-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E310F4000A X-Stat-Signature: puxz3xx5yjeqqz65muh3jfywhcy38ji9 X-HE-Tag: 1741123157-842251 X-HE-Meta: U2FsdGVkX1+sguzlu7sQ4J+b583EpV/b6OhMsE8xsEhx1MEkKdhGYqcWAdngk4D2+dT99dHa4gE0tsnuaxnA87pzMjzN7v0BBVxNIAujT4fXOJ7odvAiCK/du+2RNI7AbqHNg6HhyMWOPR7b71lCp7FbUomDOvxspyauPZnHVw4kwQGBOj/ES4xnp+jlJ9Xiy0yqfQe00i2XZZlws+rlGU+KftkdoZpf9T3XErpzQjwqJRgdDior2nDdkQgS/lUNlJb6i91eQKjesG07dOGcUEldPlsjPbHvJwIMzJ+UCsnEDEOkKdxRNCBKu1w/CIu0mYm6/KBUMNp6z2i6BQn7RDhyFjRo1orXrgktdeejQYToiXKAiUHvJnDEfwfrU4Mi5o69jabQQqAtMrtefTG/Q4JoPtysNoQDNQ91uZffkInO1ENGyx6PwfzAO5/WLVQhVmvfXn0fJ2ZPoMy29M+YGmpBwcfB8RpmVlxyb2vBz11i1cvbelf6qdVLQGV/qXzUDylFnt18ara+KA7bDeSQ57qEFrKtYjOsjDuNhEa4sY7HzxWwcuGnj5+/QIgxazlMzYdxRMUiM9/e02cK6WHBoF9Uh7GUvH6CHEjkqzEczOC3bh2Z5qZVvDV80rZnaI00rCCADbi+qGQyPJYO1UZAomrwjS0DGvini+EmrRsJx6bjWMwjoitY0PzG2DOM7p5VqEKJoU+ojUaSD0E/fkWtm6Mmr6suIq7D9iZbiSAzeU5dFzY/u0e1jTqwzB25kJOQwpbDw0N/yZidFhJGYNE6YlkUwayOw9pbhxV5gw7sizXJRUG6VdTk6qbVZeWvxjF1P7OXiYuvsj654u/ZEtIih4ZzgDauOv/Ih8MHUPH8sx+JO1cJl7GiiEp9J8wkQYU8sYiwl/kmt2OngosbEmstl2aRYPmPRasv7o8Eb1LTUOMq+G5pLiaae6XGM2eHtX4ILVueIH3YQnWovQ8VE/P YHTahJHe PvCNWeg2msUgMKmg9JicZ1pMhJgHCS53rUnWEdfM5Th/25t6DnPOEpfOhFLAL7OE49pM6Cyd1mbU4cRFoc04ChgIFFWYbJoeSbyS8+gfu3/rV8o/gd7KKMBFtu4Xb8usM0cwyLrq7W0T2By8BBW9dO/1+z4ah0gNAVVZ4E03K2xn2pUgTUkll7EOCXzVBsEgFYbQSDgm9jiltE9l9e/veAFzL+u+awvtWeRZynEXv+msJS9o= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DAMOS filters do allow or reject elements of memory for given DAMOS scheme only if those match the filter criterias. For elements that don't match any DAMOS filter, 'allowing' is the default behavior. This makes allow-filters that don't have any reject-filter after them meaningless sources of overhead. The decision was made to keep the behavior consistent with that before the introduction of allow-filters. This, however, makes usage of DAMOS filters confusing and inefficient. It is more intuitive and still consistent behavior to reject by default unless there is no filter at all or the last filter is a reject filter. Update the filtering logic in the way and update documents to clarify the behavior. Note that this is changing the old behavior. But the old behavior for the problematic filter combination was definitely confusing, inefficient and anyway useless. Also, the behavior has relatively recently introduced. It is difficult to anticipate any user that depends on the behavior. Hence this is not a user-breaking behavior change but an obvious improvement. Changes from RFC v2 (https://lore.kernel.org/20250227015754.38789-1-sj@kernel.org) - Wordsmith commit messages - Rebase on latest mm-unstable Changes from RFC v1 (https://lore.kernel.org/20250220193509.36379-1-sj@kernel.org) - Set default behavior on core layer filtering stage as allow if any ops layer filter exists. - Wordsmith commit messages - Rebase on latest mm-unstable SeongJae Park (9): mm/damon/core: introduce damos->ops_filters mm/damon/paddr: support ops_filters mm/damon/core: support committing ops_filters mm/damon/core: put ops-handled filters to damos->ops_filters mm/damon/paddr: support only damos->ops_filters mm/damon: add default allow/reject behavior fields to struct damos mm/damon/core: set damos_filter default allowance behavior based on installed filters mm/damon/paddr: respect ops_filters_default_reject Docs/mm/damon/design: update for changed filter-default behavior Documentation/mm/damon/design.rst | 10 ++-- include/linux/damon.h | 11 ++++ mm/damon/core.c | 90 +++++++++++++++++++++++++++++-- mm/damon/paddr.c | 8 +-- 4 files changed, 105 insertions(+), 14 deletions(-) base-commit: 2f0a33016d6d4f184f2d3341af17a360b83e2ee2