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 1B3A5C46467 for ; Mon, 16 Jan 2023 06:24:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 583C06B0071; Mon, 16 Jan 2023 01:24:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 534046B0072; Mon, 16 Jan 2023 01:24:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 422DF6B0073; Mon, 16 Jan 2023 01:24:01 -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 3289A6B0071 for ; Mon, 16 Jan 2023 01:24:01 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 082AC1402C8 for ; Mon, 16 Jan 2023 06:24:01 +0000 (UTC) X-FDA: 80359671882.28.A67F0A1 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by imf18.hostedemail.com (Postfix) with ESMTP id DFBB31C0007 for ; Mon, 16 Jan 2023 06:23:58 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=nS39u5Bi; spf=pass (imf18.hostedemail.com: domain of huaisheng.ye@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=huaisheng.ye@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673850239; 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=ZbkXesA3z5EusFVk2I7ry0ytrk+BNjeWTEkso9sdW5M=; b=E+ToORWqiQyaVDFuBbRT/Jq4FThAl9zQlauUmN6NIFFjFLm3vKpUGaufCmmSxN4PjzAAWm kD7zILPpKTddGkyVjO0dxqj7CYP1lb6oVsmkJNUgo66GP2PHVRWKVtUPbaUbkRaDKXfhRG qZZLTq1eKOQCx7Jm6VTyDk9Sp7qAIa8= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=nS39u5Bi; spf=pass (imf18.hostedemail.com: domain of huaisheng.ye@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=huaisheng.ye@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673850239; a=rsa-sha256; cv=none; b=vL8LCiXD19XiywawJpgZ4x6jMU0JH2r7pLA1YQdLbtDHRqgs0/mXpY+Onid8FbR/8E3gPz rUVQmq/+j0JE0GLGsTTaf79gi6zkGghly2k0HM/nvBwXBY5DiZipXAi8aOacVQdtpLaXFD gtx7UtRvHwDrdva1TN+Dyf+NLdZTHFs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673850239; x=1705386239; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=a+MM6LFSFN6O0Ul1MbCfo6cLTpT945+XnwjwGbaR2AM=; b=nS39u5BiAM98GPC+qu20+a65mALihwUsGWgBsOXmsQ9R17Ed8IiGO4NF 1atZLtL42X5TgMJmoL3cEyGJqbprnlc0KG6i8jTq9k55dYY3Dd0I+NAFf 8eM3DH1ja4ytjxrtP43ZClJRgjrlxCVtWFI1TsBR3vaj4rl42H1tUg2VF M5k8LCrosjNkDNKixhXIw020SImXQ1KmY2MjWDsPexxB35B/bFKY4xI9d RI50fZu1WeZrbrftrud2Oaj1BF1GLtl6FkcEdmidZWWsAvp2B4EOZkVdh 1Qwn/bCrh0fVhorQi919m9IYPiFgxXyPXP5vrTuag11bKau40i1pIT+sk Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10591"; a="326454291" X-IronPort-AV: E=Sophos;i="5.97,220,1669104000"; d="scan'208";a="326454291" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jan 2023 22:23:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10591"; a="658916451" X-IronPort-AV: E=Sophos;i="5.97,220,1669104000"; d="scan'208";a="658916451" Received: from dev01.bj.intel.com ([10.238.158.76]) by orsmga002.jf.intel.com with ESMTP; 15 Jan 2023 22:23:55 -0800 From: Huaisheng Ye To: sj@kernel.org Cc: akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Huaisheng Ye Subject: [PATCH] mm/damon/core: skip apply schemes if empty Date: Mon, 16 Jan 2023 14:23:47 +0800 Message-Id: <20230116062347.1148553-1-huaisheng.ye@intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: qftpsgezexzw846c5gzx1a8ts8od9inb X-Rspam-User: X-Rspamd-Queue-Id: DFBB31C0007 X-Rspamd-Server: rspam06 X-HE-Tag: 1673850238-954267 X-HE-Meta: U2FsdGVkX18GjSno3tqkY3Tg4lV/Y7YGQgqhh5EVJ3ZOCn5SnjoTwagwoDdX76bELmrFjw+9LhGuTxVZONmvdkpJtCSgz7jKS0/AvO8dy2sjPPWwOdJQ9raZoXu9QHT1l5/4963JuFS5m+mliy4s0475TFDRiy7G80n155RcqOCMdLvi7Sg7yd6jm5HXc5VKSyGoO512OWz1NRJSwoCQzf9XIer4NZTfIR7fu6UMxOkd74kQVozJ4yutW+uBKVTfhjZxmBeb/x91hwijRhPpNHWKtPz3wOM19r5PA+bR+E4MRLht7UH17dYbQgZnkiiKzNSP1wnSQlI4lqXp1/t69xPK7lTatfbt+ROp7uzp6/PihlhOH8qICkB0D5uzLYT0Z6OUyHRAZn5zLGEOTTWGKQTnjEjx7A/8eEAui5mygg0ZAYvoaLwb1xLbNQlEbXQtfGngdiO394GYEJci9YUFjYFsGjxD77CkFR3y3FbBFODiTPcxBa94YuXfR6QL6aiWTmzoR9JY984ucuGSAIqJImogEvf917L8bfgc1zWqG91FiI/yBePiFvJ/+iJbIcZ6QpvQn+AScmTgNfaFU1yYs+wvLoJSVc+OwFQhWbspXAMW80ZwpQ+meugsuMeKtaqZiS5jvhmWjV2S3dJS8X0MYukGixliNQTZ8uFCq1EAWmUfs6oWPeszl4myeiZM/Rcnv3iKvV7yoE09pi9xvpIyvkEX4nbReg1U34JUJ8bxchAvXX6FxGiuBXtlzHw/a16nT0xhFirNaf6dglL7G6VBjE3AEc66g0sgx8mhfMVyvb/GP0HCqzVjElZA+rboCtAzuLv6inCNOg8zBUkCTk2XO0CeMnDIrE9Qaa3b+bxDq0IamKLVioDuqsOV8RF9mODLTPQek2uYaw0= 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: Sometimes there is no scheme in damon's context, for example just use damo record to monitor workload's data access pattern. If current damon context doesn't have any scheme in the list, kdamond has no need to iterate over list of all targets and regions but do nothing. So, skip apply schemes when ctx->schemes is empty. Signed-off-by: Huaisheng Ye --- mm/damon/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index ceec75b88ef9..f338691e4591 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -1230,7 +1230,8 @@ static int kdamond_fn(void *data) if (ctx->callback.after_aggregation && ctx->callback.after_aggregation(ctx)) break; - kdamond_apply_schemes(ctx); + if (!list_empty(&ctx->schemes)) + kdamond_apply_schemes(ctx); kdamond_reset_aggregated(ctx); kdamond_split_regions(ctx); if (ctx->ops.reset_aggregated) -- 2.31.1