From patchwork Thu Mar 6 17:59:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 14005064 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 CEA83C282D1 for ; Thu, 6 Mar 2025 17:59:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D650280008; Thu, 6 Mar 2025 12:59:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 28CDA280003; Thu, 6 Mar 2025 12:59:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D63E280008; Thu, 6 Mar 2025 12:59:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id DF6B1280003 for ; Thu, 6 Mar 2025 12:59:22 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 03AF7C1DEB for ; Thu, 6 Mar 2025 17:59:22 +0000 (UTC) X-FDA: 83191888206.18.D3B77CB Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf21.hostedemail.com (Postfix) with ESMTP id 638521C0013 for ; Thu, 6 Mar 2025 17:59:21 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=erZYTq86; spf=pass (imf21.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741283961; 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:in-reply-to:references:references:dkim-signature; bh=g24tHwHENQzuq74tG8Hzv8/qogNp0H5mHSe1vjl7Si8=; b=zZAxwtH3p/fPiL/5+N+PsLgCUoJcNVVlWMZHHeX2+4jDuWKbebt4nd0pHzS/dU1GpypyC4 2kQfd5pIKncOe2SoWMWQ7cyfe9psluia6SbXcLPBwzdbxxth/U+urUJqePh5kLK/3a3+8R pGFG81PrsWkNijgAjh8LOfNJI/yOtHM= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=erZYTq86; spf=pass (imf21.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741283961; a=rsa-sha256; cv=none; b=v3W/YjQ67jeSLEQI+qdMXrhgp2uq5gDECiLB+bEs7cVXxsMCHiUzUvu/jq+EpeVK8BPnFY Tt+RUpHiLfjT3DWhR478vQ8ubf+COB+VpHNO3ZALP7Rt8BRF5v+EegCXkTUN6qBHHzopEV Pz0Fhxm9yYoaO/qPd0KfkSj9srBQWoA= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 24F9BA450E3; Thu, 6 Mar 2025 17:53:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 648EDC4CEE9; Thu, 6 Mar 2025 17:59:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741283960; bh=GLzNjNzoqFiPhTNA5KWvEmI61gvwVWoLHB2Kc36Fd2k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=erZYTq86Muoe+ngK+l8uFZkQmK24b0sIV9xkOZI/wHdKgAlqF07w3QclG8rJUEtt8 azNg2lsCWGWyyEVOh2ak4BD5Io128WbCrygzc3VC9UX3mmg4z0nbeqAsdZIUTuzcxD hG84wS3cy6s1nK7AFt/uQaGaFILjk74/2GkbNcrpDKsef91CysP4SGpiDYXw+MlCF0 hGtD4DsYsf2qA9K4v14hBqp1GE0GXtsAVGkkezSyTMNlKvCMFt6GoEJDIsAR8CTjgn eELoCkIQRv7gn9Bj+qMd90PhpcARNPlobRsIjOb2VcQEdd1i0bjZMDSRUFsDyaDVHT eZqtABr7ZuxxA== 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 07/13] mm/damon/sysfs: remove damon_sysfs_cmd_request and its readers Date: Thu, 6 Mar 2025 09:59:02 -0800 Message-Id: <20250306175908.66300-8-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250306175908.66300-1-sj@kernel.org> References: <20250306175908.66300-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 638521C0013 X-Rspamd-Server: rspam09 X-Stat-Signature: rmhuey3corgje4thc4ezz5h85rujcaxz X-HE-Tag: 1741283961-785589 X-HE-Meta: U2FsdGVkX1/lBHbF96w63Lf4c1pvvv0ttwKtxVqSy0X3IQx/qhGQML1ZcFNhsgPoFvHUdA+vcZ3GGfY0n+5WVCqXhHVAjqvx+DI3p4hvtyOyvnbtBbSj2gPEmoRgRHn6nPu9zpUidKuNFHT1ts/OjCs/GcbZ1igrMsdeex4QrfMbBtWQAI/9VGSHLMYoOU+POnlOkp0UrSL6WUORe5B0gTNYiYR7FL0cx6azEHOQ/d3Qs9ypGEIjS48LaEdqZ3PT5R9QwRLXZPstIkg5oLkSqcv0dafkh3ehQHjHXSwUg6ei0U2CAnnQlcP11imhHVEhfSAia4lKxn3L1ZohEedp0t2E+2Bsew4dvI/hGORKi9nApf7e5T5rMUFAB6hPR+WvPmJbo5zyNSrsBmv71hBSBJmEnwWR7yYfPO0c5F0vYtS1vDHQhq+OXq6w2bgI2DLXcJNPnuoaUQ2+0Ft8HKRPgcXxk6fJ9mdjZ+OsXINoTLVWrwQX3nC8RBzsUeiFqpUzJAob2hhRjawbLe6MoXNfuevel/zZSSUUz9ZckFi11sQjzZGGpVNPgsITwy3fzfksqIhOaYP6ln/eud+tka7fyJicBEUv7fVHZEmTptsxtflxmi0Ux4aNR8kAfEBiQPvZYJbgT5VZ6HDlnFwZXCvTZnLt2DZ2crdQyEI5ZI9/k1LMC6Akg8xGphr1vMF0nZzB3zZ7jw07pVh/+/CLe4zxrCawbL0RD4rNcmyFoyhf42ROjD68Boo1bbAHj/1AqrKm9cH7QpglYxIO35SX7KTMBeKmbCU+cfAEKwpj19S7aj6WiHjDZ0iKRfVwM+sm94I95vlScSaqrRcNzXDxC66fSBWZiR83cZHrrJTt+qDOVGXKwvKsMcQLUWWWT6AFv2QIyNeEIby0gDoGLvtPkLGlzW6d9n0z6O0QK1Li8Dp6VzJbKlQMCZX55+hxFGPMq+QVq4dwM23as1dib9o/2ch 2+ctDhHL EurzP/1r1UoFo2HW5gnvf4QggCCW7x1QWSRk13sQHRmERGEhQRhhVvikUQn7RkpMB2/P7EmbqR0BvHeTA8SzIx2aBSYS+o4Qm6qa0vv83FYGgKFywfcxrEcRDPZYwLiGAR4vuONYWvRc8tbgELB+cq1Gk5dK96bIzKqr701kf8rTMG9JWwmOzS1dwqfPPDgKfxXS1S8+Zb6nu2yYulxFK3PWba9V+owB0/QyXygQ0CHSg5tY4K+K1Pn+ikMsquyHZVRIimzMMQXnZfScDcRrQfS/XOg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: damon_sysfs_cmd_request is DAMON sysfs interface's own synchronization mechanism for accessing DAMON internal data via damon_callback hooks. All the users are now migrated to damon_call() and damos_walk(), so nobody really uses it. No one writes to the data structure but reading code is still remained. Remove the reading code and the entire data structure. Signed-off-by: SeongJae Park --- mm/damon/sysfs.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index e5bcf019086f..1af6aff35d84 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -1238,25 +1238,6 @@ static const char * const damon_sysfs_cmd_strs[] = { "update_tuned_intervals", }; -/* - * struct damon_sysfs_cmd_request - A request to the DAMON callback. - * @cmd: The command that needs to be handled by the callback. - * @kdamond: The kobject wrapper that associated to the kdamond thread. - * - * This structure represents a sysfs command request that need to access some - * DAMON context-internal data. Because DAMON context-internal data can be - * safely accessed from DAMON callbacks without additional synchronization, the - * request will be handled by the DAMON callback. None-``NULL`` @kdamond means - * the request is valid. - */ -struct damon_sysfs_cmd_request { - enum damon_sysfs_cmd cmd; - struct damon_sysfs_kdamond *kdamond; -}; - -/* Current DAMON callback request. Protected by damon_sysfs_lock. */ -static struct damon_sysfs_cmd_request damon_sysfs_cmd_request; - static ssize_t state_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) { @@ -1555,8 +1536,6 @@ static int damon_sysfs_turn_damon_on(struct damon_sysfs_kdamond *kdamond) if (damon_sysfs_kdamond_running(kdamond)) return -EBUSY; - if (damon_sysfs_cmd_request.kdamond == kdamond) - return -EBUSY; /* TODO: support multiple contexts per kdamond */ if (kdamond->contexts->nr != 1) return -EINVAL; @@ -1796,8 +1775,7 @@ static bool damon_sysfs_kdamonds_busy(struct damon_sysfs_kdamond **kdamonds, int i; for (i = 0; i < nr_kdamonds; i++) { - if (damon_sysfs_kdamond_running(kdamonds[i]) || - damon_sysfs_cmd_request.kdamond == kdamonds[i]) + if (damon_sysfs_kdamond_running(kdamonds[i])) return true; }