From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6224933A711 for ; Tue, 2 Jun 2026 13:12:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780405943; cv=none; b=GjD3Y52/F32JxfTFSYiSBmhZpNjGFqhA3bcF1BqUrPGasd/GJvpI+Rhn2jpvVVNLcPrF6hI0PK+07oUeYcDq28hYRpd3arjxRv9RhSH6Wvk+hB/89xW2mFJKRoCJSGj74NCabwtP6eHzLYC5nFnaCPYoKNY/+VCZt1peDAk3kN8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780405943; c=relaxed/simple; bh=LWPMj7a+gzLg7XA9kVfxOsUzy221Pa84w68ETkj7T+4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pNCTrR3pN9WPW8bY4gY6PxZkF5x/LgwBhJALfNznwzh4/b+xJft07EwmIZriL6YJwwHdGjXttwm3DcH+Cgbh9WtHz7kmVxF/fx9TTTmgsvXH3BfDOaJHsbXo+Slm0HXF+nClw9xBQgTwBZqnZtfvzbz02OAQ7r7XkoCnVDEO+zM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KhaoBGAr; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KhaoBGAr" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-45ef372c58aso2159072f8f.0 for ; Tue, 02 Jun 2026 06:12:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780405940; x=1781010740; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gi0nkd00qoOiTXwyNBhW7SD2eFbz6g/U1mZvPVWCOeM=; b=KhaoBGArOkK+1Wod3xUaPAdEAaPTgLgXnVINzIsHn+nYl8i5eLoE+0PBt6thbXQCN9 Ig+9T5sLsJD8cn/deEZUr71fVuwCJjkeBQ5WnyMvfwRkZxHKxx1LWWtn5dlDucurZjsD gDhKMfgxMiXOEKwHHmbs+riCxfZwpZ8aQrikWhTcskb3uhAjLxRMsl7bTyHx5W3TpiHX INysQIUiNkES3J9QVvswgva+KafdA8ReuIIHFYAgnT6du5QBfjgX3xerQfovujnP94v7 0u4zFFtI+V6JaBhT8HuvdZ6jSrtI9QCbCqelpG6c4ls24Wt1rRgPidrN1q0PPmGNIKZp whsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780405940; x=1781010740; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=gi0nkd00qoOiTXwyNBhW7SD2eFbz6g/U1mZvPVWCOeM=; b=bAMgei07YDffe4gIo9BsX88j8LacUrczdYzXCMr+RwVVO8rf2fISfT5PGO3CYab4Em BPKsKcyjsmJCxi6HEI/0v9yMd9MnX27QclWoZNKiLR0jFcHOsandKtKghfPjWkOygwm6 YSLsfNX4iz9gkPkDFsrBEvWe3JlTz6ry36jAzh4Y3Igd4gEUX/8rvP4BFAg4oL/kqGSw EyQaUPHEKb8snl7CoNIwh/bbuRnYXRqjAQVaeSIedcfdBmwibJJvQHM1CWNMo+su/RAu lJPdJdBwsUpENIm+3+PE9ZjIegBLMowxDT41UcHuDV0f2T2tGTI0lZrjHdMkUsmYFk9z dnTQ== X-Forwarded-Encrypted: i=1; AFNElJ8QrSTQeXhKyhbHzyeqccWLkObd3FM2QQ7ZbnZ29e0owGKObMyyxjwZ86EvysPyYdUQtVJVdYh/XfuuHQI=@vger.kernel.org X-Gm-Message-State: AOJu0Yws3jkqDYqoNHaLuZasQKx395ppVywWYiEUhWycx7P2rVqlVPA5 UkDQ5g0ymK+Nz3WVkc808w4qIv7VN3n6hvt5fYTyxKzclYDtJyKNjlpG X-Gm-Gg: Acq92OFXeJpzU5HJ2XhD/g0S2d0ShsxgEw+3eK5bJ6ZEu8Sgqfh5Ce7yuxpYnRGEo40 K8GZOGOMOkePcoye489kxCUGuIhHtDlaSfB+RM7K6kws9M/efFFrcWigsO6OMkXztEieulTyQ2V 47Zpk0x+tFHwWfcL57mXsbMIuGm0lV1XFQM+KuTqfHNFF6UJHN+qrCr8QadOyarpyyq8eqVOoIb Iy41voobD6643tJ6DbCtHbX49+OkQk+JXGcx7Dj4qOMdsdPtFcoMwdJGLkQdroWTspowyRouRLa E+1WgWX1HrFxjRYjMsx3XdpDArHdGjzc/fROwFPpVpV3U0KdZ31ypoRmOkyPxO+kb8PZdlqfa5b BaFm4qskWsAUfZuUHFc8CJRrea6ZTArtMcZGJqPeNCgT2PPWBUjDh/Cqn+iMIodbwhXzF/6LR9z ro9qF2bO2p/DrfzkFBwP3ZjrLXvRGICQ6EvF16JucR0Q== X-Received: by 2002:a5d:50ce:0:b0:44a:2cb3:b633 with SMTP id ffacd0b85a97d-45ef6b18708mr24074083f8f.12.1780405939786; Tue, 02 Jun 2026 06:12:19 -0700 (PDT) Received: from x1.tail0e71db.ts.net ([46.140.7.198]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45ef34c3081sm33234665f8f.15.2026.06.02.06.12.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 06:12:19 -0700 (PDT) From: Ruslan Valiyev To: SeongJae Park Cc: Shuah Khan , damon@lists.linux.dev, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linuxoid@gmail.com Subject: [PATCH 1/2] selftests/damon/_damon_sysfs: support kdamond refresh_ms Date: Tue, 2 Jun 2026 15:12:16 +0200 Message-ID: <20260602131217.2210912-2-linuxoid@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260602131217.2210912-1-linuxoid@gmail.com> References: <20260602131217.2210912-1-linuxoid@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The Kdamond class has no way to set the kdamond-level 'refresh_ms' sysfs file, which makes DAMON periodically update the read-only sysfs files (DAMOS stats, tuned monitoring intervals and the kdamond pid) on its own. Add a 'refresh_ms' parameter to Kdamond. When it is set (including to zero, to disable the periodic update), write it before turning the kdamond on, so tests can exercise the auto-update behavior. Leaving it unset keeps the previous behavior of not touching the file, so callers running against kernels without the feature are unaffected. Signed-off-by: Ruslan Valiyev --- tools/testing/selftests/damon/_damon_sysfs.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/damon/_damon_sysfs.py b/tools/testing/selftests/damon/_damon_sysfs.py index 2b4df655d9fd0..1a498c78a4149 100644 --- a/tools/testing/selftests/damon/_damon_sysfs.py +++ b/tools/testing/selftests/damon/_damon_sysfs.py @@ -667,12 +667,14 @@ class DamonCtx: class Kdamond: state = None pid = None + refresh_ms = None contexts = None idx = None # index of this kdamond between siblings kdamonds = None # parent - def __init__(self, contexts=[]): + def __init__(self, contexts=[], refresh_ms=None): self.contexts = contexts + self.refresh_ms = refresh_ms for idx, context in enumerate(self.contexts): context.idx = idx context.kdamond = self @@ -695,6 +697,11 @@ class Kdamond: err = context.stage() if err is not None: return err + if self.refresh_ms is not None: + err = write_file(os.path.join(self.sysfs_dir(), 'refresh_ms'), + '%d' % self.refresh_ms) + if err is not None: + return err err = write_file(os.path.join(self.sysfs_dir(), 'state'), 'on') if err is not None: return err -- 2.43.0