From mboxrd@z Thu Jan 1 00:00:00 1970 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 CE46BECAAD4 for ; Sun, 4 Sep 2022 14:36:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 270068018D; Sun, 4 Sep 2022 10:36:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 21F428D0030; Sun, 4 Sep 2022 10:36:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E8998018D; Sun, 4 Sep 2022 10:36:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id F0AE58D0030 for ; Sun, 4 Sep 2022 10:36:41 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id CA56C14024F for ; Sun, 4 Sep 2022 14:36:41 +0000 (UTC) X-FDA: 79874654202.18.9BAB5D1 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by imf13.hostedemail.com (Postfix) with ESMTP id 8F92120057 for ; Sun, 4 Sep 2022 14:36:41 +0000 (UTC) Received: by mail-pg1-f172.google.com with SMTP id v4so6031009pgi.10 for ; Sun, 04 Sep 2022 07:36:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=NdfnigtrHEZh15muBd+rCpQfRjPlMeIH5CSvnpjmko0=; b=NbGpf4ZNg9AralEfLb26vv9hdj9PXhVHU+vFtLPCVcRVeIeIyVHQhyd6k2O8xiyI5H ETt28o/YU15pnx5NXXSPjsCJuzrdc60WGo+kVcUenI/u1cizO9yQTvG/dUw/cNzN2wko yiMMphwmfzGvoMhtjLNaCtvPbheWzJziq79zrSQp+9Nn7BZB4SmdFf510tkmMzY7PsRG NzpemN2eXZtr4TFXIMjQ3d+oNHbnWoNA7OxdtJWflNIlAa/mnE6Cge+Ba4h7/fzPp/ZZ v3OPcENLDUjlO+cdzu73VO2Uw3fIDyt1VKL3UIC3ec/hg+FlEv8lbqQRjEM30KsGj62B 2Z/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=NdfnigtrHEZh15muBd+rCpQfRjPlMeIH5CSvnpjmko0=; b=y8JkkQyOtvrqilglcyedge2dNwVY1uY0jTj1IpS2Wy7QtEFsuYYSB3k8JTyyATHlKB 4PxVnnJN6/q6/yIvngbYRdeR6nivljg65c0bZZSdoceMeJxrNqls8u979mC8jsVqVKRL iDWMu+vwi9zUn7t2UBMxL6d66LFUlEwqJiSfyonby3PLsAAXWgyAeZskyWdldl1RhWl1 fGB+nzHzGt9f3bcoxXB6W/+xqBmqKhRrxfCQ3KQ22Uk7EZ3mxUkJIkK2buLgPVxAUIKw gfflqLFcXfMgNc01QSir7XmJIUGWaKy4bG/Y21tGvjOBoWlex8N7OD0S9cP805oHfNZB muug== X-Gm-Message-State: ACgBeo0xZDwIb6KpSlOU4KmOgDClf7sb1cd0ZtAdo0cqhzaNoDls+i9N TZB/bJSe05qiukj5sjoipQ== X-Google-Smtp-Source: AA6agR7bfU9mpvknEdGlX0LhuIj4O4yOLlgGbniqt6rVbT5slINQjvVxN9qKfP6vUWSZUP6kejGy2A== X-Received: by 2002:a63:205:0:b0:42f:af15:b8d2 with SMTP id 5-20020a630205000000b0042faf15b8d2mr22259669pgc.251.1662302200447; Sun, 04 Sep 2022 07:36:40 -0700 (PDT) Received: from localhost.localdomain ([43.132.141.8]) by smtp.gmail.com with ESMTPSA id a2-20020aa795a2000000b005360dc9c45csm5742389pfk.43.2022.09.04.07.36.38 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 04 Sep 2022 07:36:39 -0700 (PDT) From: xiakaixu1987@gmail.com X-Google-Original-From: kaixuxia@tencent.com To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kaixu Xia Subject: [PATCH] mm/damon/sysfs: simplify the judgement whether kdamonds are busy Date: Sun, 4 Sep 2022 22:36:06 +0800 Message-Id: <1662302166-13216-1-git-send-email-kaixuxia@tencent.com> X-Mailer: git-send-email 1.8.3.1 ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1662302201; a=rsa-sha256; cv=none; b=EcYS9OZG/HuoCjHues7Q/GEjYrMKij12IcSSsrd8m0u4QWvXH8k6hBCcZhPAVCTQFEdpDR il2WFlDIqcPWNRFGms11sayKsrWhegLCqXNAM4Ht4Hf8FmUmn32pAInoL1SB1zLt/cxXA+ 4AW1JEIZVgOz1meZ14XjC2G4xFM5Vog= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=NbGpf4ZN; spf=pass (imf13.hostedemail.com: domain of xiakaixu1987@gmail.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=xiakaixu1987@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662302201; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references:dkim-signature; bh=NdfnigtrHEZh15muBd+rCpQfRjPlMeIH5CSvnpjmko0=; b=UGVSwTnhXCi2BAMA+nHkZ51Kq33k5zQSg4TJ2PYhOIDNCnQjSX+FjbB+aLN0MsS1urJxy0 +n4AnCGAbvDRcMNKSxFXKl7Y87lLU/1zTFSKCoU/DKLsXe6Cm/nOWi7xuYt5ncLXI4CdVL 2b9cyoBj0jvVduchnfRZzJmyrbCt7/Q= X-Stat-Signature: csa8t1tmohoid4imgbrgt89fpex56a7e X-Rspamd-Queue-Id: 8F92120057 X-Rspam-User: Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=NbGpf4ZN; spf=pass (imf13.hostedemail.com: domain of xiakaixu1987@gmail.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=xiakaixu1987@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam01 X-HE-Tag: 1662302201-379978 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000222, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Kaixu Xia It is unnecessary to get the number of the running kdamond to judge whether kdamonds are busy. Here we can use the damon_sysfs_kdamond_running() helper and return -EBUSY directly when finding a running kdamond. Meanwhile, merging with the judgement that a kdamond has current sysfs command callback request to make the code more clear. Signed-off-by: Kaixu Xia --- mm/damon/sysfs.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index 7488e27c87c3..fe6c6870cf86 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -2657,23 +2657,18 @@ static void damon_sysfs_kdamonds_rm_dirs(struct damon_sysfs_kdamonds *kdamonds) kdamonds->kdamonds_arr = NULL; } -static int damon_sysfs_nr_running_ctxs(struct damon_sysfs_kdamond **kdamonds, +static bool damon_sysfs_kdamonds_busy(struct damon_sysfs_kdamond **kdamonds, int nr_kdamonds) { - int nr_running_ctxs = 0; int i; for (i = 0; i < nr_kdamonds; i++) { - struct damon_ctx *ctx = kdamonds[i]->damon_ctx; - - if (!ctx) - continue; - mutex_lock(&ctx->kdamond_lock); - if (ctx->kdamond) - nr_running_ctxs++; - mutex_unlock(&ctx->kdamond_lock); + if (damon_sysfs_kdamond_running(kdamonds[i]) || + damon_sysfs_cmd_request.kdamond == kdamonds[i]) + return true; } - return nr_running_ctxs; + + return false; } static int damon_sysfs_kdamonds_add_dirs(struct damon_sysfs_kdamonds *kdamonds, @@ -2682,15 +2677,9 @@ static int damon_sysfs_kdamonds_add_dirs(struct damon_sysfs_kdamonds *kdamonds, struct damon_sysfs_kdamond **kdamonds_arr, *kdamond; int err, i; - if (damon_sysfs_nr_running_ctxs(kdamonds->kdamonds_arr, kdamonds->nr)) + if (damon_sysfs_kdamonds_busy(kdamonds->kdamonds_arr, kdamonds->nr)) return -EBUSY; - for (i = 0; i < kdamonds->nr; i++) { - if (damon_sysfs_cmd_request.kdamond == - kdamonds->kdamonds_arr[i]) - return -EBUSY; - } - damon_sysfs_kdamonds_rm_dirs(kdamonds); if (!nr_kdamonds) return 0; -- 2.27.0