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 4778EC83F1A for ; Sun, 20 Jul 2025 17:17:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 515596B0095; Sun, 20 Jul 2025 13:17:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 479076B009B; Sun, 20 Jul 2025 13:17:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 206376B0099; Sun, 20 Jul 2025 13:17:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E85D06B0096 for ; Sun, 20 Jul 2025 13:17:04 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 97BCE59652 for ; Sun, 20 Jul 2025 17:17:04 +0000 (UTC) X-FDA: 83685298368.04.73A0960 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf16.hostedemail.com (Postfix) with ESMTP id 0790B18000D for ; Sun, 20 Jul 2025 17:17:01 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ocTyl2Xv; spf=pass (imf16.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 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=1753031822; 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=uobSPzeJ16D/4Gxldpa/oUnMsHNwG7tn9J3KGjwSsQE=; b=AiggfQu0C6gjRAWS8i5GjEub2IGtUo8SM8vr9LWCoU3frE2qTxIcMUC6dbsgl3Q5sQpg3u foYF11vz5lKvhFwUUArlbLgXKuhig1Zsh+rLGqTBEVuCmcjbU5mv/u1LzK4lvF2E+n8X4W BuP2qEkKuGWoZM6NbPgf3F7C27njC5E= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1753031822; a=rsa-sha256; cv=none; b=JIW4v9QE+Vo+xGv7NH6nEjwmtHhRE99XCJt+lRoSBLWQ4EQ9mC8fNceKUzN4AA1JSiq43G fdkbAnwgYGHzT33RHwMN2zGdRkd1I5xtVzbDQIG/oSqz9MX3rPlUxc5vWmJjparo+kBqWb h4laZ9AI3qM59XQFFTEvlW+EYe+DPp4= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ocTyl2Xv; spf=pass (imf16.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 52B0D60054; Sun, 20 Jul 2025 17:17:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5B99C4CEE7; Sun, 20 Jul 2025 17:17:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1753031821; bh=sQuriqqTYEVG3BTXSxFPevEEtfd34DY9wOWswVQQEuo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ocTyl2Xv2eeP4NMyxgyIB8jWC+zv1RRmEHjUFKBuk/I5xdk6tuPB8VSrD+m1rHO5Q qA3MduI+aUkowBGIK/mRXV6oxHSfEAgU/Rr7NWUbiuMdtlcQ+XYRRSzdzEULyrnDyL /jfRTPeNKw2V/1SlWUOGxE9BydOClcIdCf2uZeZcr0IfTElvFl0g7GXs9BxTfLDXTB RF/tv7YU5yXT3fzPd1CjkPip7bM2PcYV4pB2mRgeVd41eTniKE8qYbUbGLkWIw/gws 45RmgbGVoiQBtyVDPc8dnsB5U38uvBYlMabFHYT3y4CRf3ZnhSj+omxEYQUpUf9Egv 15VmajDVksILQ== From: SeongJae Park To: Andrew Morton Cc: SeongJae Park , Shuah Khan , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 04/22] selftests/damon/_damon_sysfs: support DAMOS quota weights setup Date: Sun, 20 Jul 2025 10:16:34 -0700 Message-Id: <20250720171652.92309-5-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250720171652.92309-1-sj@kernel.org> References: <20250720171652.92309-1-sj@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 0790B18000D X-Stat-Signature: 8f7r8zzcm9f1ekewiicuobucnrh81kp9 X-Rspam-User: X-HE-Tag: 1753031821-919473 X-HE-Meta: U2FsdGVkX18RKojuMQk6ui5Neh0mbRe1MsRuYvrqA7VBn+GW+CDormwU/qM6xqnhjw/GxXspl0zomMVXxpMs1iS8IAir4PDDsy3h8jXxexkR4zyAgyzSyYiUJngXklSmCF9IFpkXDXDzu0d5PpD9/iCenuZzvQxOHsCzM/6ZSZeLlSErlCk1EHLvX3lSWtkXN5O5oDV6mqjtSwCc/cNKCKipLyVCwe1Qb9T0p0xlZ4IGBXwsAJEXR2D42UpoTEpW9IuSf1J7yVPdLeNT8ln5m/Yw2blh717GwFijLV19BzBGdSWNriRv8idYDygRbCAR8BtZND4mWaZyqqPO32sLicnBaXlvO7nzr4DLjmJX+9iu50pfFwPxSZu/F+e9Jo3WP4kT7hLVpdVtnUNjnHvPJwzVt1VI/tHCz3gGf5aPx8BFQ4EBE2Q/ZNH8nmSQcN+OjYMFqDKGyTBnuepsG9oKTV4//SapwPQ2OHQDMVoX1MyuoWhG5ME/Xco++OGxuITQahIB83joIx7r9pxcxUYab57ex3WuU9NWvdM2aNlsdKDdPFwvpmGXlIyFi02MI0QizgZt5BA1VvUDBIjncOX9amPcdPIeP0JihauShQvIuOrNqIziEW/jZL8FVcmflNK8PKtKBUT+Vu0ZBX8xAnC/E0Ih749gFUJxdaNwiyhQjrvQSzNCsP6NDJgi9rk55GnN8PX4xuqhpEP1/6ML22wYYeiSJjbP9BdeNc6TKXOP/FIlWJsQrGDiAg5cEsSlF1U6/Mw6u2EIvVpyNM67y267CNMFI0SzrmFZFbKgqoyTfqiLlaDCyhblx+B9ah4TJyWK8tsplafkhmXF5uUewfzyvfmpS5U0IuAzTQ3joxIvs/iugoAA6QHS1NlzVKhG3cPWEId0W7WE+uzYoVwuhkCLWl802GyXJASGEVKpBljW536/CDs19ciOmMCP04UqkJFf9xNybNVqBbF2wo/jBOq 27vFs20W HV/taaCatb9JhprHkLd8VVpsDyY0EBaX9uqBijl8wr1ZRuLJC1blaL/6Ls77EUoQFoYAM3YSD5+DP9XcMSqhfzVWXFIMUAH4BK55ZUcYokMq30GVKx5ALL21xf5zC+HNNLITDD6ai2Ro2FqB7TiDbJmVK+X6iV+dbfppcQ0W/QTqtw2JpOjXjtBR9maasjBOvXrwZTButwJo7JzErXp6v7f+rQd5gijdTR3VfSih6XaHOM8rmmLc04ZOIaXKHn6QBfrYVpGVADaDhVJgVrOBBs8CtGw== 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.py contains code for test-purpose DAMON sysfs interface control. Add support of DAMOS quotas prioritization weights setup for more tests. Signed-off-by: SeongJae Park --- tools/testing/selftests/damon/_damon_sysfs.py | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/damon/_damon_sysfs.py b/tools/testing/selftests/damon/_damon_sysfs.py index ec6230929d36..12d076260b2b 100644 --- a/tools/testing/selftests/damon/_damon_sysfs.py +++ b/tools/testing/selftests/damon/_damon_sysfs.py @@ -125,12 +125,20 @@ class DamosQuota: ms = None # time quota goals = None # quota goals reset_interval_ms = None # quota reset interval + weight_sz_permil = None + weight_nr_accesses_permil = None + weight_age_permil = None scheme = None # owner scheme - def __init__(self, sz=0, ms=0, goals=None, reset_interval_ms=0): + def __init__(self, sz=0, ms=0, goals=None, reset_interval_ms=0, + weight_sz_permil=0, weight_nr_accesses_permil=0, + weight_age_permil=0): self.sz = sz self.ms = ms self.reset_interval_ms = reset_interval_ms + self.weight_sz_permil = weight_sz_permil + self.weight_nr_accesses_permil = weight_nr_accesses_permil + self.weight_age_permil = weight_age_permil self.goals = goals if goals is not None else [] for idx, goal in enumerate(self.goals): goal.idx = idx @@ -151,6 +159,20 @@ class DamosQuota: if err is not None: return err + err = write_file(os.path.join( + self.sysfs_dir(), 'weights', 'sz_permil'), self.weight_sz_permil) + if err is not None: + return err + err = write_file(os.path.join( + self.sysfs_dir(), 'weights', 'nr_accesses_permil'), + self.weight_nr_accesses_permil) + if err is not None: + return err + err = write_file(os.path.join( + self.sysfs_dir(), 'weights', 'age_permil'), self.weight_age_permil) + if err is not None: + return err + nr_goals_file = os.path.join(self.sysfs_dir(), 'goals', 'nr_goals') content, err = read_file(nr_goals_file) if err is not None: -- 2.39.5