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 6D426C3ABC9 for ; Sat, 10 May 2025 22:09:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 201396B0082; Sat, 10 May 2025 18:09:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 188D76B0083; Sat, 10 May 2025 18:09:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 04FCF6B0085; Sat, 10 May 2025 18:09:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id D5F576B0082 for ; Sat, 10 May 2025 18:09:37 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A27D5160E4F for ; Sat, 10 May 2025 22:09:39 +0000 (UTC) X-FDA: 83428390878.10.2CCAC65 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf30.hostedemail.com (Postfix) with ESMTP id 16CE88000B for ; Sat, 10 May 2025 22:09:37 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=n92L39YW; spf=pass (imf30.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=n92L39YW; spf=pass (imf30.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 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=1746914978; 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=AB6Yv5rH76j8o8b7l65h3NM6J8AlP0YdTt0yFM+MzhI=; b=fPgJ3ftitw+19AR8AZuoxMm93QNrlv1aTZOGEdrXvSSRP+cHgqsgOEpO+67JgLxFzmM7wS Cp5L5zY7aPaUqW/QAHMjF7MimogRtpha0iXxtPBaBbLP2gV95ohGi5t05+8kew3MoSxqHz NWXlv0FcI2tb68B/dxyV3HkMDYbT4Ps= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746914978; a=rsa-sha256; cv=none; b=AR6F/3WT0fMIOIdDwbW5jpvZ2lx3YNGf2ELFIVWGPvwo6c5leMNRKGbHin5MjF1hbMG9ip 3PSbfU3xOfvH31vfQAolTmPtflho6lD0L9mVvb7N2DAjE4oFKRLUpAofqO4715/O6MeBU6 5Be+BraaHewXqHWC5Lp1j+Uq2uh7m5M= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id BAF4C5C3FF7; Sat, 10 May 2025 22:07:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C00BC4CEE2; Sat, 10 May 2025 22:09:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1746914976; bh=7gYbVVjK8IjX8p7c442nyW8K8z/i+LC7CKRyd44LJos=; h=From:To:Cc:Subject:Date:From; b=n92L39YWDsdvMe2LmPSZQozwBrF+CjJUdXD9W8iguwWjO+PKiLKAmwV2TpilKZ9sa UdTvxva01sQzpKePlCcyUuLTG5GxzW2tkIVJadSXdIeyeD+7RFsS7uSKsZ2eQJsfrR mVeS1lr9QM7ZFr3rb2jf9GwppeUMv25WbBubrhbuTdT+StM4VKceXvk3oSgp93mv5l L/T3jtFRUtGirRpHl8szmV/RfpByw8FYel06m48SI7btc7BCAO+A9ROZhINWdSjoAh INrxFzTKU3BmmDKu3r48z36by3HNWpDaYJdtOH9SZxV+jtoUH8/4BG9trmAQxoydAz tXeZW/SwZXc7A== 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 mm-unstable] samples/damon/mtier: fix wrong DAMON attrs setting Date: Sat, 10 May 2025 15:09:32 -0700 Message-Id: <20250510220932.47722-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 16CE88000B X-Stat-Signature: s4a1b7u57rdsquqsoq6eckgjh8muqgb8 X-Rspam-User: X-HE-Tag: 1746914977-369119 X-HE-Meta: U2FsdGVkX1+wDoYeU4ufISISdqDxeI2S5P9YaWdsYo7jb1HL2wc3xFow+NUs1bVu3M7mUXrFZ6tlj6Z5gfW2XitV5ReldrtDkMRqped/OLVLP6A/XF6DD6UDlwf4UE2i5LVdSREdcqdlf532OM2bB2QzZ+mVh+e6jlAP4orbFELIQEAn2Gih/ZrV575/vnHfz4vNdcD6N6dtLyLGqmKryNKBvykfOuYPkU//qn45jCllZjugSYUUu8ZCftMCTIbyDJwrdoc5Ty/+jAAeJMm9gWuAncBVv0ODJkw5skOqLaA8VAtHR1CToEMODYIVgl1cnFfhH8VkPlr2v9A9o3gw/+R9CPWf6TNjd0J5pA6ko050N8l6WSEHCmLXbMdojaVn5FfyAkMr050Tkue2k/EJKAMf14+ATdDljWbraKXgC4ASO5wFk3fepguhvLwdSUqGWztZhjgt7MfpjvoB2giGLDEZDzXWr6Hacm0b8vdX1F0U/DJSnAbvOMCmbwGUNVPD4UguK2vNIboRMdebmQ3iNZZjxR9Oi2uCfNKh4KaqSx1d5+XecaU5eXV2AATl5U7YfVyrxVQCWVt/TGkT8PHlD+14P5k61nRTpLll0MDVtZacfSkaJZdxEREDmIxUJMud0YsKfwdPJB3gDBVyN8BKff/5fGPjuq1C+FCOkNgtYeUjUSJzIjTiHINXjDKVOvS4xz96oW7hr7GXtLp33C3KFqV7WSxGFJ0tFsWLnS5TcmG1Fn4uJMprI85lFu/xAeGMOLpjVTHimoCGBU6lgxHCjdjz/6ucjWF19QCSvkLuv0fCcpShrZc+r36qth18Stuq96h0RArpZLEHUuGFExiH2QNIvPM6w4YVFSoUZhQVvlr+zpxm4FXiz3hN4nsDTF84N0Tqmu5ckbtuM5zFsrFzuKxVaxl1qDMlaD5qSFm8+9cq8G0p6TR5MX6EfDnr9Fiwx6Z23efmQFIfIzgMraf JAR9/Jz0 mdOlV4c7gAzehY2SfG06rTz5Ww8eLDBYgypFHNEAg1vseiMDUWeI+3rijJlWJpmOSNPMB4BRdsl5/bC76bZnq2l7Z3z7i0T+V/GoK7/0DvCqnhmdAqG/0LKQXGhvYxSsZZKXfAGPxRgBiTJcFTcojnu+2Z9d/1fVMd6j4z8f6tA4muta2ZTWwuX7WUF296UsxVClphf4nv7O50bAp21EgHvQAkf+TOlJLlKGeBjAXrHBzEBU= 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: When intervals auto-tuning is enabled, DAMON monitoring attributes should be set with damon_set_attrs(). Because damon_set_attrs() is the only place that sets attrs->aggr_samples, not calling damon_set_attrs() can result in divide-by-zero from damon_get_intervals_score(). mtier, which is a DAMON's sample module that merged in mm-unstable as of this writing, is not calling the function while enabling the auto-tuning. Fix the problem by properly calling damon_set_attrs(). Fixes: 3a1fff3fe05b ("samples/damon: implement a DAMON module for memory tiering") # mm-unstable Signed-off-by: SeongJae Park --- samples/damon/mtier.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/samples/damon/mtier.c b/samples/damon/mtier.c index 3390b7d30c26..36d2cd933f5a 100644 --- a/samples/damon/mtier.c +++ b/samples/damon/mtier.c @@ -41,6 +41,7 @@ static struct damon_ctx *ctxs[2]; static struct damon_ctx *damon_sample_mtier_build_ctx(bool promote) { struct damon_ctx *ctx; + struct damon_attrs attrs; struct damon_target *target; struct damon_region *region; struct damos *scheme; @@ -50,14 +51,24 @@ static struct damon_ctx *damon_sample_mtier_build_ctx(bool promote) ctx = damon_new_ctx(); if (!ctx) return NULL; + attrs = (struct damon_attrs) { + .sample_interval = 5 * USEC_PER_MSEC, + .aggr_interval = 100 * USEC_PER_MSEC, + .ops_update_interval = 60 * USEC_PER_MSEC * MSEC_PER_SEC, + .min_nr_regions = 10, + .max_nr_regions = 1000, + }; + /* * auto-tune sampling and aggregation interval aiming 4% DAMON-observed * accesses ratio, keeping sampling interval in [5ms, 10s] range. */ - ctx->attrs.intervals_goal = (struct damon_intervals_goal) { + attrs.intervals_goal = (struct damon_intervals_goal) { .access_bp = 400, .aggrs = 3, .min_sample_us = 5000, .max_sample_us = 10000000, }; + if (damon_set_attrs(ctx, &attrs)) + goto free_out; if (damon_select_ops(ctx, DAMON_OPS_PADDR)) goto free_out; base-commit: 882bfccd259e3961b81219834715a70a23f9ea71 -- 2.39.5