Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4360827ioa; Wed, 27 Apr 2022 01:56:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxSPdi3sb6DSMEKBnTUiWPyUkTovS+bZDknv8WIla5s/Zn3/4G54gqU01DB1axulnlSEvX6 X-Received: by 2002:a17:903:2341:b0:15d:4055:d79f with SMTP id c1-20020a170903234100b0015d4055d79fmr5878168plh.108.1651049794415; Wed, 27 Apr 2022 01:56:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651049794; cv=none; d=google.com; s=arc-20160816; b=ACc0A2ERhu+r2jiyFW494X0kl7QJ2fertiWpiDvg0cN0tdMX1YGUjulhDnrWypuFNp YH2Rj+x3fUV3emJNLAaeHyNuRWOhqAv8NYbWS4gS8gHSfR3/XpoXOGlCTyRoGdmdNZR8 oyBPaVkc0TulL5Rjx5NmoaAR9t8lomygG/Rt3hayLRjXI9iI736HsQEZc9lfgFHtkZs9 XHlyKcHUI2T2x4O4MKu2IKVqmXc7Vh2JDiu49/ZHh6YDCB+Iq5cpf1ohB8obiVCFZ8vl jZXLkg0DVnKNSqubb84Q/ILVHNo17UBT37wAupefj1QryrFX9ujBAhOT1GJt5ATwTuQC TUVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DvZH+gDYCvkCUsLc0kIs6zsniQGxoKMdXr8Zgp2TYOc=; b=kRPlm28e7p1aRrOMgQIJm6FGfeBaCw5yNYLXoFHaDGOmwqcZWABjdulFZL3eRj0V6y OUaTGc++l/MmP3s5WznYq1TLQc2jZ/Ur/NVBFPJRjQmI0HpK4lJwSW+0AskWuB8vvrZZ q36dayynAP/afyO7Zy4b6yLkBdq4n2f+HQmsffLYuhtHEZTtjqGr67xypyhXMIPUoSCV PcP4jOyNeoDJ0LAE8+5ltYP6NHc8OmiRoZxrkAqlvkz1ieUxHiMVp7ILJcdtQmoiuonH v52VIY/dZRFh/4h0saV8biRCuj4yoWJ8bAmIr9+uTJ4em6MYo3N/jREqtBENuutZDPPQ hkzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=DyHJBDug; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id f21-20020a17090a9b1500b001cb955dea08si4488851pjp.84.2022.04.27.01.56.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 01:56:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=DyHJBDug; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 3D8371BFC93; Wed, 27 Apr 2022 01:53:29 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356051AbiDZXVY (ORCPT + 99 others); Tue, 26 Apr 2022 19:21:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356032AbiDZXVK (ORCPT ); Tue, 26 Apr 2022 19:21:10 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C820230558 for ; Tue, 26 Apr 2022 16:18:01 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 68C2EB823A1 for ; Tue, 26 Apr 2022 23:18:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AEE5CC385AD; Tue, 26 Apr 2022 23:17:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1651015079; bh=Ac9sX0cFu6qC2OwtEEo2VbhjwI2Cs/TjEkOWCiwxUHk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DyHJBDugogDeufQMDnDXEnfyoCbLHqNjRY8Z4se5aWlgrp4Fe4jjiQMUtk/BnXdjD Yf+kqTq0l5z5Nz/5ZQHi3Axn6iWNz6a4iGzE+LJgNpuEuQzYilPda1ms31a53a7qUj tDH31TkAui+//hvP55k/AGL0PaJ8r524KZGRD6M995+ziZ0+xp1boCeJDFLaefYsdy ANCY5ezgb1DeCVzjh7r9evaRGiQXohDP+QoELqZcCJwnefTqw2oEfHbdN4FoIzMp6Q xdWXIQXod1pHyCH6PF63lkWbZdfsUij9U10WDHDPd1dgovtY3tlElUvvrLN0qBggwj OvCDbB/KL9GtQ== From: sj@kernel.org To: akpm@linux-foundation.org Cc: linux-damon@amazon.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, SeongJae Park Subject: [PATCH 2/3] mm/damon/sysfs: support fixed virtual address ranges monitoring Date: Tue, 26 Apr 2022 23:17:49 +0000 Message-Id: <20220426231750.48822-3-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220426231750.48822-1-sj@kernel.org> References: <20220426231750.48822-1-sj@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: SeongJae Park This commit makes DAMON sysfs interface to support the fixed virtual address ranges monitoring. After this commit, writing 'fvaddr' to the 'operations' DAMON sysfs file makes DAMON uses the monitoring operations set for fixed virtual address ranges, so that users can monitor accesses to only interested virtual address ranges. Signed-off-by: SeongJae Park --- mm/damon/sysfs.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index 719a286d378f..767ab8c33e4d 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -1694,7 +1694,7 @@ static struct kobj_type damon_sysfs_attrs_ktype = { /* This should match with enum damon_ops_id */ static const char * const damon_sysfs_ops_strs[] = { "vaddr", - "unsupported", /* fvaddr is not supported by sysfs yet */ + "fvaddr", "paddr", }; @@ -1844,9 +1844,6 @@ static ssize_t operations_store(struct kobject *kobj, for (id = 0; id < NR_DAMON_OPS; id++) { if (sysfs_streq(buf, damon_sysfs_ops_strs[id])) { - /* fvaddr is not supported by sysfs yet */ - if (id == DAMON_OPS_FVADDR) - return -EINVAL; context->ops_id = id; return count; } @@ -2136,7 +2133,8 @@ static int damon_sysfs_set_targets(struct damon_ctx *ctx, damon_sysfs_destroy_targets(ctx); return -ENOMEM; } - if (ctx->ops.id == DAMON_OPS_VADDR) { + if (ctx->ops.id == DAMON_OPS_VADDR || + ctx->ops.id == DAMON_OPS_FVADDR) { t->pid = find_get_pid(sys_target->pid); if (!t->pid) { damon_sysfs_destroy_targets(ctx); -- 2.25.1