From patchwork Sun Sep 10 03:40:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378441 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 93DDBEEB590 for ; Sun, 10 Sep 2023 03:41:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A3C456B0125; Sat, 9 Sep 2023 23:40:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 997D76B0128; Sat, 9 Sep 2023 23:40:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A9116B0129; Sat, 9 Sep 2023 23:40:57 -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 4C46E6B0126 for ; Sat, 9 Sep 2023 23:40:57 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 17EEE1CA365 for ; Sun, 10 Sep 2023 03:40:57 +0000 (UTC) X-FDA: 81219286554.11.A07A759 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf17.hostedemail.com (Postfix) with ESMTP id 55B8D40008 for ; Sun, 10 Sep 2023 03:40:55 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ecUnwAiC; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317255; 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=fQgZDgTF0qm2Vnxfnh+bfImd7o0cAR5iWCC57Tq+QMs=; b=Jn7J+qPfgizcS8Gqyn+4DNXxdrYfz/lixwfr23ccSrPIiBKp0VPz70MgvJAk7yNl0KLB/7 9PHS2n38Ilru16Nqlklv/mCnoaJILVnHMMc1vKgvEFk7Q3+Xb3yWWupDzZ2oDiicnGUCMA pIi3TKjRclUItGqIStCJL6t8wZhCCtA= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ecUnwAiC; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317255; a=rsa-sha256; cv=none; b=azZ1lhpllD4HvFHkdWu4mjsOG02ThI40VI3cI43TWeyQzQa54YYa1JBQGrSyBiVak71LVg tyrxmccgcBWxIAPA1L9wX3imMF3mI4t+bFJ+XH+cqzXRnGkXEQZMPet2lc0/P2ubRWTDFJ sDIVTqFb7K4Wl/50QwfVECl3wLgbCuE= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 61AE1B80139; Sun, 10 Sep 2023 03:40:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC3E3C433CA; Sun, 10 Sep 2023 03:40:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317252; bh=ksAtuRMHUySOp8Xx1g77nkmGZFnU3FZ4zcI4qBiSy/w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ecUnwAiCcOAgRM4f0xtr+cxgCRncgILzBDXmIG/5Vd1IiS25/+TOD765eUx12lkbK Hbh7qPvTSqx2y7tFuVbwgEJJCdrc4VOBaLbrFw1nKuFRp5xtLAOIyRSU35QDEpORhV 3zPFTr9qA8WrXg8bJ7ICCMpcA9/JDVX3A0iT3GMV9/qt7mcI6uo7vtdA6ApLS6cEns EVTQ6ni8/Ebvnri1GA6uUZ8wjkDZ4JjyZUxxPrChUk4a1ErFyV6YEwtYFxUc7Zphaz ZYcCz9+BnwmnfYGH7q91HlkK6vyvfNLOtDfMRyUz5QZC2xuOT3G2BZeP9sKfr5W0Jz eTLniDweakmyw== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC 1/8] mm/damon/core: make DAMOS uses nr_accesses_bp instead of nr_accesses Date: Sun, 10 Sep 2023 03:40:41 +0000 Message-Id: <20230910034048.59191-2-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 55B8D40008 X-Stat-Signature: sb5t8oosdqt5k9ibhmng8wp8p5wi854e X-HE-Tag: 1694317255-292993 X-HE-Meta: U2FsdGVkX1+cqPlAEDUYDicTgJrpuBzr/XaIYImMby1OdaTxAR20hpL70b+1VIUbSE3qxJcO7Y8j/3fQvjfqRjk+/KkvWxwMFAbCTaaw7xPN0utYF7eH7ivohc9RIBJXseEvYmBIvh7mNrLd/xKeWN8ZjvjItX0P6gi+KEe5wMGl71xBrvHmfgypEwLMzLhV1en5Y1Fm5WcqZC+bWgR6FQQMbcKKMAX9mQQikixaCToJJ2QPQga00wYcxGpCcHYsNI0cqmxvSnO4GW3mIZhIOFfqinaG9QiB9JiSg9O83NagjkHCIwdZIIABYgAm6gTfD6EPlFG0mcsjJRfV9ivm+MUx+9DfW2kGBkfeMAm+FWk9e7jRRujjf9UGNi26lcvGfrs0ySmK9H8g1rZV2xm+s8XrC+ufhaNUVqgJ1l13t2N/2jU/OVDFn2sihhNewsTXhARoDk5oH9Dlt6TwYVJ5hAXaDrDxRFIFwHowWSZtjpeLnv+sQrvHcC+Bq5FVkw8735UZAzpwTugfkMVKlIGPRPoC5Lix5+MCx4Y5AILReb5e5VxQkEvVYJCoZhuy3jKCPwz3Hkf+V27EU2JuMmRNHbmGRlxSiHLvnanYjLjmpM5nGX2FQZkANfIW5mJtE8IarIuw5hU03SYoSy+o3l9pI6YgbktQt6i9Zut0vB/8fjGwT7nR5CDRi7Jsva4bTxEEBPp1VfW/PBirw4/Z5k4QVAH82gfb2E4K0JnP/+DdkXIbEJXByREkH6skYVj9tWZHJ581XPOV+f9eMyzvLt4JnpICpytQMrZwVObS0lzQGEAt83WyMeRcow/v3ffb+kOFC6BBlGldt1a3ciAsWQe/snGRRdo62EtEnksrPHoLlvIkdYJbaGd67R6CD0HhHt8ZfxcTTl7+WUL6HkcrqPumOhelMfLnfAFB9yXDI4eLEFODhBOPDr5CPGyIzEabJ3PCHDTFW0RNwBRraB9NC5e 7RF3X9iP PXAbofrUqgYHzrkfltO8eDTGqnm3Wua/qWncN17lrQbTCmCUc08KmekyZYUf73uTVQRpUWEB8Qc1wVOgAuQpGghpWUfuvMuAkkdq0gVs83CCxN/W0azG1p5TiqfjWEZiK3Bq0abBlj8BiPurew7P+ubhdMFZ3CxSsLE1GnggVB4YlzsQzY4xF4wUCJKLfHZEr9tog86hW/N7Y80n9+rG1s8zXIa+ZvjiyLeq7QPdbnRhX0RJkfTlxFS5kdJ+HVBJYqpCybOoUePYHnJVe/kSU9+DBg7QZdBT20Hb2Cj/4ZsaKZCMlI2sBLEuhOkkR6kiqmPRbDUX1c12Mp/Sf5ZM94cO1vK+bhEWTYV4jzvpX1S92fD92VcgtSp2jnZIUFv9Fn4Hq 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: DAMON provides nr_accesses_bp, which becomes same to nr_accesses * 10000 for every aggregation interval, but updated every sampling interval with a reasonable accuracy. Since DAMON-based operation schemes are applied in every aggregation interval using nr_accesses, using nr_accesses_bp instead will make no difference. This also makes future DAMOS changes for applying the scheme in a time interval that less than the aggregation interval possible. Signed-off-by: SeongJae Park --- mm/damon/core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 83b0cd329e84..3e0532c6896c 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -799,12 +799,13 @@ static void damon_split_region_at(struct damon_target *t, static bool __damos_valid_target(struct damon_region *r, struct damos *s) { unsigned long sz; + unsigned int nr_accesses = r->nr_accesses_bp / 10000; sz = damon_sz_region(r); return s->pattern.min_sz_region <= sz && sz <= s->pattern.max_sz_region && - s->pattern.min_nr_accesses <= r->nr_accesses && - r->nr_accesses <= s->pattern.max_nr_accesses && + s->pattern.min_nr_accesses <= nr_accesses && + nr_accesses <= s->pattern.max_nr_accesses && s->pattern.min_age_region <= r->age && r->age <= s->pattern.max_age_region; } From patchwork Sun Sep 10 03:40:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378439 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 B0949EEB580 for ; Sun, 10 Sep 2023 03:40:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12DCC6B0124; Sat, 9 Sep 2023 23:40:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0DD0A6B0125; Sat, 9 Sep 2023 23:40:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F33FD6B0126; Sat, 9 Sep 2023 23:40:55 -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 E664A6B0124 for ; Sat, 9 Sep 2023 23:40:55 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B76E0B429B for ; Sun, 10 Sep 2023 03:40:55 +0000 (UTC) X-FDA: 81219286470.15.378EE27 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id 2925E4001C for ; Sun, 10 Sep 2023 03:40:53 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=LrXyTntt; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317254; 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=VstW81SbC7u5K0M0K9pnwi/H/CdzQ2pt3D78JsLyr+A=; b=Fm1PHdjqoNqpZQ9MR6skzvUotFXagXziRBd9HIabn6Y21lkgzkwyFg/CJ2fXx4aQR/f4gp 98x/1mYoCw7IzUHoWiX53Ex3Y3xj9Uyzo5C4WKiaW6YKrkijYF8RSe2AQpJfvbedzFSHZV R/C+1SHJVuFNb68QkgojGwOReTA72Kg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317254; a=rsa-sha256; cv=none; b=B/nAuIp5hUmrc363HyNVNRu2I8BY7Bfy8ssj/YRfuHCAGQaCEESuPvmZqEje95TkHZ3BZx 06lm4lKjz7h+JsWdOtsEnF6yNu0q4JKo33wVKX0OskbuG5D+P/wnamYh3fH6edQ19LpRVs Jicjv2fLOlUmvXbLsSnx9Zeo8KHHHgo= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=LrXyTntt; spf=pass (imf17.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4DF4060C55; Sun, 10 Sep 2023 03:40:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 606FBC433C9; Sun, 10 Sep 2023 03:40:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317252; bh=P7zQCwnjvNM/0KUc4+YEr5PqkR+all9uO1LM0PE/RX4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LrXyTnttdpLzVeZIEYQ1KlPf1eGSXzz5UV1gKdhzO3/x5aa0WKFyKpbq5vjX+2YPa k1Gdsop+MdQM08S0rG5L+8BsW1Pl12AMmtn0AU7TlzZBlbItisrpjdTgcYeBdIE7H2 8UpeGBcJO685O3hytod/LaJ+8cyLzSi7hJiW0WJsCjt5e9C3PV77c/bVTk8jtsn/zP 8AMzsjEInb8mB/y5NWGGMGe6Bf0+IRcXNYw873mvEdT4tZ40aBQ6Yc4MWa4npct0Oc TgvrV+xEAsxQJR7081G3Y3uW2HmYFPbRPRSitFZnTa/nS8H+fVV2natp1V34kA95J2 5TBv/I1QLkwJQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC 2/8] mm/damon/sysfs-schemes: expose nr_accesses_bp via tried_regions//nr_accesses Date: Sun, 10 Sep 2023 03:40:42 +0000 Message-Id: <20230910034048.59191-3-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 2925E4001C X-Rspam-User: X-Stat-Signature: 1kbjgwgba7aikydtocrxqtrta9y6wqms X-Rspamd-Server: rspam03 X-HE-Tag: 1694317253-26914 X-HE-Meta: U2FsdGVkX1/Vl6XcR8WVxe0ou7+i980SRyk2s66ASoivkfUEcg3IcCuZkjj8ySoenNutu1jdi7j7a74cNNLrnZ4pPfLQGusNY8OE6ziIzfcR01HRZTA8m5sZ0Ww8IZvK0tBjWEg84PocQjmyrRGUlaCD4cLzvXHj/VEGPBK97K7DBUPNPNv0dd35Me2P745MBv+QEbsX8i6lLwJmxBCmIJbGja6gnxEkEcrmwUjHsvv+eq5dFDMDyX4F2XMpFBX9vnkAwbx7mrWtb96b/9AIWewiXDF4+VaEA1Ooh2eRaVyWDR/YH8g3PsKT0kpnmWr3D8LKiDN9tGM03yuxCaeq9yV45DOkYYTbC21RJ1Kow2nw51HPLkBpu1BUN+eZf589db7tXNBeOB6hknL91KrVDBZLFoVjtR7p0CTrV0dTDPOgYAAI1VXE6u7L53XtP3MJzPgNU13bkOrQ31ZxtylIDxJAYfagWkE4Dg9bihp7sg/SvqnssOiObBkmHrxgRpfBYvLtrRf5V2Wf+eyJxKH3g5AQHJMVgln+TgXYiQINi37suJQTsIrI5kKaZXLsWK1EBc1RTsMzECoBuSJivEBZNr7i21ELCg3nsMeusTKHCZvNmyfxQWl93FNkVsplgqdABV4MX5gRD8CCROtsjDS01resHDcNcitEhbFLZrOG2fJB0RTzrdve/3O7ePfxvGypdF6si73Stzn4kVdaV3SFY8vDThFpreosnY9rSJq/g6U6W12u1nGf3c4aZp5/koQp6pO0tt53eLZwXLdKUmqC6W1Dj7Te9iPEe4AdwS3K4Flw++S/PHFDDqgIlmn3JptfoHv2onkkufLwqlrbyXVBEGZYe/+MYysdJAaLC+D8bYKRRP9e3L0oNukWrKMe5GZQy/hDK9gT30iZ9yD95BCCY0hIo5ps3UDmxkEgpJVs3waiTQ6U+xurNElIoFISbb9rm3vb8U7pJi0axmBU5Zb VWUVQTH9 r5pF+WTck00sdd+a0qThKMVZskaZSwdKTR0aB2DlyWtBXHb9DS9BEf4rrdalPllf5oNN5dDfRiOnnNCiug6w8UtWTw33YFwHt/BTdZsNmiqXka/KgLqSy+9P4kh/psM4mIz5MunpOL3Iik2YDKmUHp7HOpJSfQ+2TAZtZuLSMSJvNgRoQjSnKmcMfMgG9ZgHfhjgVCXnplcIyg8cyp1EfxmwuSmBXfLCifentpJE75fbBRBiJId9cN9FClABFV2MGBIDGkVXor7jT7oy1+5bzm9rYLFV15TJWQ+0SEDdjmIxViHngEO/X5g8XvBpo0WlJH9XchYBs9tZZpLPZPa1UHvIwZSk9dsp6HVDT7GAOuIYE49XGRYAQ+V4OnumjcHBt8jIW 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: DAMON sysfs interface exposes access rate of each region via DAMOS tried regions directory. For this, the nr_accesses field of the region is being used. DAMOS was using nr_accesses in the past, but it uses nr_accesses_bp now. Expose the value that it is really using. Note that it doesn't expose nr_accesses_bp as is (in basis point), but after converting it to the natural number by dividing the value by 10,000. That's for not making unnecessary confusion to the old users. Signed-off-by: SeongJae Park --- mm/damon/sysfs-schemes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 527e7d17eb3b..093700f50b18 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -31,7 +31,7 @@ static struct damon_sysfs_scheme_region *damon_sysfs_scheme_region_alloc( return NULL; sysfs_region->kobj = (struct kobject){}; sysfs_region->ar = region->ar; - sysfs_region->nr_accesses = region->nr_accesses; + sysfs_region->nr_accesses = region->nr_accesses_bp / 10000; sysfs_region->age = region->age; INIT_LIST_HEAD(&sysfs_region->list); return sysfs_region; From patchwork Sun Sep 10 03:40:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378440 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 A4006EEB58F for ; Sun, 10 Sep 2023 03:40:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 752216B0126; Sat, 9 Sep 2023 23:40:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 743136B0125; Sat, 9 Sep 2023 23:40:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 573586B0128; Sat, 9 Sep 2023 23:40:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 423486B0125 for ; Sat, 9 Sep 2023 23:40:57 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1993AB42BC for ; Sun, 10 Sep 2023 03:40:57 +0000 (UTC) X-FDA: 81219286554.17.B683DA2 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf25.hostedemail.com (Postfix) with ESMTP id 69FBDA0016 for ; Sun, 10 Sep 2023 03:40:54 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ukwU7Cls; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317254; 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=6bi+dUECYcw1m5SL+sjA9nBrRZIb2ck3AZnojBSm9xI=; b=tAwhC1L2GTqVMxpFeG6zOFswKo5GNYGgqsnnZteGvAITSQHBjBNWZC5OzQnTbETf52zPZk 57s5ztcvra/8hKf4oFrA8KULdZBi935mAws03omF1LhK6UHQRGhI3ckDC5TKCCensCOHdI ZaL+DnXfxjOVWBCZ7FeZT6NM7tZZFVI= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ukwU7Cls; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf25.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317254; a=rsa-sha256; cv=none; b=NQgTKJ+te5QyNljzdyaDg8oo6sd8tnRNxnTHN/slzkRGfuB7bpBaSiMIIDJvz6T9yemr7H lnTd7NReRgLek0H2otBk2sgbowIj2NEzTGD2XvDq3LAfxbWNC32Ak3YXS14+svBCzTkQ4z aI8tltl9xo91/pwkcnpylXaRcfQh7qI= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 91AC260BEC; Sun, 10 Sep 2023 03:40:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E782EC433CD; Sun, 10 Sep 2023 03:40:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317253; bh=MX3U5PAIeegCJCB7eLilaWjnagt4bwpadGy8uCoTAPk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ukwU7ClsMJzswDPgiPqi34noD/YWgkgpYy9DTKZv6j27OpTnHzCYojjnIIeATvJYN ahttWt3gMemTLniiTvBNfWs/xtDY8/cnBxOVexAWmn/45Om5A9B80Fyd8Lh4ayso3S h2IOtpquQVNeVk/ljEco9I+zHWzG9plGhihdWjIUaDeakrlOgGuNxa+XnnDi/A8gfO N70z6/+H4ITZFIZp3II+NPOj7wCMGK/ofQn13w16+xfVvSR5dGtKacsaVZgLXNbC3d I4z7iTc426dEh1+QdaG28ZXBNBtTVotkJ75bMNBlcObJljwa3L3QDiAfMbfxEPN47s bXb9XM7/1Dh8w== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Steven Rostedt , damon@lists.linux.dev, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC 3/8] mm/damon/core: expose nr_accesses_bp from damos_before_apply tracepoint Date: Sun, 10 Sep 2023 03:40:43 +0000 Message-Id: <20230910034048.59191-4-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 69FBDA0016 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: igobz959gq8pshqptpwod41ermxpi4tc X-HE-Tag: 1694317254-473129 X-HE-Meta: U2FsdGVkX1+/4n4pYYfeTd3i0S/b8FujW3afd708DRCYSpReFw80Xur1XKImBrnEQjtCz6aI6MqFEqJjfKwiIZJoM2JE/QNpO1+Nf3UwuT6Kgv/pjOPzTOBgqgxNfMcxxgF6nyqYMCoNQh1bFoF9WgsKOwGxFerHNzRaOohQo3RIqcXns4a5FeH6rol9LTGplJP+pHlPGChO2r8CFWt8l7+q9l+Z1qf2UWSFc9QV0tBuUVxRNas0yK3xzUBff3KWs22ZqmkKjibSBN+QULXyZI3pAuEVF+GD85WIfeOA3xW8Oojf+omBr1S0UWZ9db7Zxzn9Yj8ilwC+F7qX4R0kKVrq9+N2dXcag5zNDpYVJmvdlaVtw+5gO1pT4qPB7LTmy3w4l7J0W/OsvltbEjIFx6nMulmO5zc7adI7nzuqO+seHLj4eTvUxfj0lIVS2M15ZPPONfqYtfDI5yDYstmdklAd7GHrUpqGj4YjS+SWrQUw3Xxftjy5SsH26lBoQ+5KW4oZlCF96cPoeP15zIWcCYyiH/q1P3I1lvVYIo3EsgsiGYDYlV1xw9nagJvuKRCKeqJp0cP0NmGH58r4ATY6HKzDR0Iol0QS09ksuUnb07oPsPj+vwVM0CRFNu/O73DbdUBwh3nj/OO4ZiBhIoviw7e4m8IwS4kUGqmqrQTtSCCS97AjWOPzEACpjVG5vEQsa+6CsZV65Eo5lDYy1E/xowzDbBloY/8e+8zqiEZMeptqLUSft/zZ9FlVyeGhKW79A2ckLhZZuHckp1iKJwlKuj3CMxJkDxMqAMziKjqYYesDUoYd0IHIMic2gh1J4gTQS4nOugedhn/2v8p86iahZGJlCEqnEiKZkQQHVjYyCcvpmc6tJogv1PhM52JK/jhkn03IpYXtwse1dsA3ITkexfhLNxQ79r77VXMNqr4HeFd87U4vRZQj7z9TubhPCmNJ9e6r+MtiwSX+Pqt9WE0 Pdwa7wfe 8hV7XjRC3evkcz8rBhGYhJtJJC91helgGaw9vdhQbCeGScWGYtbDyv2CpE/RPZCh43icFFcuhnEEx+BMsh9m8yMIRVTFBTtZkZncuMdEy/cDFuJOVUbKQRGOTcLx16H02g8emgYM7t+KGYZPd0yMSlOPGdH4PuSuBVzNbIonQVhYZ9A43MVIhjo+G3p9Of9njzsS2bxQn6FYiXbtBrY7E1Dekao9Rzvk2vmLxZJheKP/hwPIUIHS6Kz5kCkq+awlrKRbz9qT/RIuy7mTSlJ+9IopfrMpMRvQ9ju++OL4NcsqtFw/WyF0pZne9H8m0Bvi8SQkjmjQ5lY7BQ9cS5ylU0B5a3X9xnHMRGVCNkB7+HVK02i2ILTiVZXZ9HXDHjU0/BgFv 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: damos_before_apply tracepoint is exposing access rate of DAMON regions using nr_accesses, which was actually used by DAMOS in the past. However, it has changed to use nr_accesses_bp instead. Update the tracepoint to expose the value that DAMOS is really using. Note that it doesn't expose the value as is in the basis point, but after converting it to the natural number by dividing it by 10,000. That's for avoiding confuses for old users. Signed-off-by: SeongJae Park --- include/trace/events/damon.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/trace/events/damon.h b/include/trace/events/damon.h index 9e7b39495b05..6f98198c0104 100644 --- a/include/trace/events/damon.h +++ b/include/trace/events/damon.h @@ -34,7 +34,7 @@ TRACE_EVENT(damos_before_apply, __entry->target_idx = target_idx; __entry->start = r->ar.start; __entry->end = r->ar.end; - __entry->nr_accesses = r->nr_accesses; + __entry->nr_accesses = r->nr_accesses_bp / 10000; __entry->age = r->age; __entry->nr_regions = nr_regions; ), From patchwork Sun Sep 10 03:40:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378442 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 85F8AEEB57D for ; Sun, 10 Sep 2023 03:41:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B5856B0129; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F5BF6B0128; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F0EDB6B012B; Sat, 9 Sep 2023 23:40:58 -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 DAD9A6B0128 for ; Sat, 9 Sep 2023 23:40:58 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B2725A077A for ; Sun, 10 Sep 2023 03:40:57 +0000 (UTC) X-FDA: 81219286554.11.F5AF124 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf01.hostedemail.com (Postfix) with ESMTP id 018F840002 for ; Sun, 10 Sep 2023 03:40:54 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WeRTQo6D; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317255; 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=1OUCo8zw2GgIeOGDEMrrWFBzeO7iQa61Hzqj8Eh+Urw=; b=bp5Gif4buWnHPisptv2ViNdfQvx1rZLQIJMPdvnyxl4dI8Tx4auDFlG0WyvumES2LDipAn xxhnvFrIIaYy6U4mMD0NKsV4+A2w59CL3v0JRc6xhGucl9Eupe71UwOz7t5ifS37CN19Ac 6BFxKbuEK/GyX2fpSlyhQt9D38loKDo= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=WeRTQo6D; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf01.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317255; a=rsa-sha256; cv=none; b=XOHPIntELRnOOxzYA4+H/HpikBBtrwo3gWLCJ5P3Broe03pGdXYGH4cHuSGJeiZ9FZSi8B KpzUKSQpaDTbvr8cxJdiBrorUJW9N+gHkhhynLUDYwZkM7cEto12BSshCKwb6lHPSTqmnm bq8DjawPQ8dkWZd7wy35Sd0vPlkxiaQ= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 359BC60C56; Sun, 10 Sep 2023 03:40:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99B7FC433C7; Sun, 10 Sep 2023 03:40:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317254; bh=DjnOjctR1HpX3KfBkTd9mJQPbWLMb6UvjaZw+MXDlfw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WeRTQo6DJOWDrNGyr55EHwB4hhqOco7edVSXVAZ74USTrG9CgzrwxoemPH6RxKpMt 1kuH8dC07oeYZsnHrKA7doiMYxJC9ghg69UKlemEh9VJqYeHxMwcb/zbnjsRknJrzK +zYwDjGmlCnOjyaY0j51NVV3dcmm5FTr5inHpIrhy0k1qHldsrFcShAurnipSa6TSU /MfGJqPDB2Mc0JsQStkiqJvTbY+AIsT9s9gmI2Aa/8TDZeVgiu0a/DJVcIGCkxO8oV K9TpVDT+SV54AM4/t7G1wkBROaQ29R7Dx5LvHox5XaOHhBMcbTwMnPt+zHcLXQ8U8K ZUIsF2p/i0oZQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC 4/8] mm/damon/core: implement scheme-specific apply interval Date: Sun, 10 Sep 2023 03:40:44 +0000 Message-Id: <20230910034048.59191-5-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 018F840002 X-Stat-Signature: dr5mc3zst4bdznkqqkw13dnytmjhk4du X-Rspam-User: X-HE-Tag: 1694317254-215120 X-HE-Meta: U2FsdGVkX1+t6UvZMENrCjWcTjawksJY+/WN4umNz6VeMZrcAAE3FbIfif8PYsbjnR51N6JZ7YB8yk69SkXtlZHry7H7NSRDrMtZq/Nfw6Eu48zk1ZdwQwlhE2GisGFlVew2VjXcsv6veKcHdh2+98DVGtNoDYt9CUdg93Ffe15neMzpCxWzZ9o576j+S5b0kPod5vp1lbnUHCWFb0Ann1xUqy37IfB+mVChgjShSRIduSeD9PDjv4saj3jzxf1ze3tJiElu6CBXUtNfTiTA3Ft/0SzW74wNFpqyUYCeb2mSyIYkPiD8V67d8CRPywuXYkx6OZ9BUatXcbxHxg8K4TGFLvtxazoTb2gJJCG3ZbdbgrlLNRbP4RoqAJLJ/pwY1evmeM2iAJPuLKwoBnHUshOmVugGq1gTdBAk39LVF/zxkmQdy6HifDOpVVc9iRsVOU/JZUWzdHfFDpTKs+kRXt+bmBr751L6CiRZRdl6G1EGhecT6FslETfvQXY7knS7jD9FYegPoa6dMqfejLhQnzLhlLltEpaY2mk99gSSMo9hiWiAwjyoysH7FVOHePiB1rGF8M4cPPntedEpjYlAaCJXQfjnl/6X/7cmKI+tWsGqurO+hl6SrqY0K81Dnzjak60fSJQlmokdhCnj/HGVDteUpBzvVZtx5UsfUKUpYXbRXgyycnSs2pEtSFKwy/auj7G7vizK17ULGA31dfkAuxulkTWgkPJ3ze4p4VIhSKF0nEPAtOfktJ4YxlGlPS6QYMfLWsVf8a4i8jBwXsTmR0zM94H2jCsKD3y1939vu83UiD8Bvd/wAbbkTJWuRep/+cdvENNii4f36uyQse5u0Oizb40i4cfjM5k7eWUlF6KvSBMqN4NB80EwBZv38UZzJJMD0dvFK/Ox4nAlOlLTKxpfA053PJvH0QPCOXBDAHI0S+DSCSIuDAn+NL7/IM/LKx2yE/KVR4sBBCVvseb SwJJeBtX der3o3oShPa1vcPdmKn4F6Sm6EfwjnKfXDNGl/SjQjk/wDxieI+x1n9BmaX88/yuZcxF5ktvn3gmIyQNmJ453XWoveX9vWRhK928FAAvGwE+Lq0P3h26jBKnqVm9bznENpkL8bAUorOKlAuodJDLD5OKEfr8c4cml7a88h01Vz8USnlRWiz6YCAXzh+Tvi6KX7zbDrRexPzxGddh1hdbIj78R76+8yAkyKeb94QOp7IW26h4i72ktp/jd0tF96xqK/Lep1JVE6PR9kzyKwtB0BYymm1pz1aTOfFk5DmPf/h7MD7sjfEEVgB0FdvVDKTBD6yycPR7tPKNkBQi7sJOG+en9Zw== 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: DAMON-based operation schemes are applied for every aggregation interval. That was mainly because schemes were using nr_accesses, which be complete to be used for every aggregation interval. However, the schemes are now using nr_accesses_bp, which is updated for each sampling interval in a way that reasonable to be used. Therefore, there is no reason to apply schemes for each aggregation interval. The unnecessary alignment with aggregation interval was also making some use case of DAMOS tricky. Quota setting under long aggregation interval is one such example. Suppose the aggregation interval is ten seconds, and there is a scheme having CPU quota 100ms per 1s. The scheme will actually uses 100ms per ten seconds, since it cannobe be applied before next aggregation interval. The feature is working as intended, but the results might not that intuitive for some users. This could be fixed by updating the quota to 1s per 10s. But, in the case, the CPU usage of DAMOS could look like spikes, and actually make a bad effect to other CPU-sensitive workloads. Implement a dedicated timing interval for each DAMON-based operation scheme, namely apply_interval. The interval will be sampling interval aligned, and each scheme will be applied for its apply_interval. The interval is set to 0 by default, and it means the scheme should use the aggregation interval instead. This avoids old users getting any behavioral difference. Signed-off-by: SeongJae Park --- include/linux/damon.h | 17 +++++++-- mm/damon/core.c | 75 ++++++++++++++++++++++++++++++++++++---- mm/damon/dbgfs.c | 3 +- mm/damon/lru_sort.c | 2 ++ mm/damon/reclaim.c | 2 ++ mm/damon/sysfs-schemes.c | 2 +- 6 files changed, 91 insertions(+), 10 deletions(-) diff --git a/include/linux/damon.h b/include/linux/damon.h index 491fdd3e4c76..27b995c22497 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -314,16 +314,19 @@ struct damos_access_pattern { * struct damos - Represents a Data Access Monitoring-based Operation Scheme. * @pattern: Access pattern of target regions. * @action: &damo_action to be applied to the target regions. + * @apply_interval_us: The time between applying the @action. * @quota: Control the aggressiveness of this scheme. * @wmarks: Watermarks for automated (in)activation of this scheme. * @filters: Additional set of &struct damos_filter for &action. * @stat: Statistics of this scheme. * @list: List head for siblings. * - * For each aggregation interval, DAMON finds regions which fit in the + * For each @apply_interval_us, DAMON finds regions which fit in the * &pattern and applies &action to those. To avoid consuming too much * CPU time or IO resources for the &action, "a is used. * + * If @apply_interval_us is zero, &damon_attrs->aggr_interval is used instead. + * * To do the work only when needed, schemes can be activated for specific * system situations using &wmarks. If all schemes that registered to the * monitoring context are inactive, DAMON stops monitoring either, and just @@ -340,6 +343,14 @@ struct damos_access_pattern { struct damos { struct damos_access_pattern pattern; enum damos_action action; + unsigned long apply_interval_us; +/* private: internal use only */ + /* + * number of sample intervals that should be passed before applying + * @action + */ + unsigned long next_apply_sis; +/* public: */ struct damos_quota quota; struct damos_watermarks wmarks; struct list_head filters; @@ -641,7 +652,9 @@ void damos_add_filter(struct damos *s, struct damos_filter *f); void damos_destroy_filter(struct damos_filter *f); struct damos *damon_new_scheme(struct damos_access_pattern *pattern, - enum damos_action action, struct damos_quota *quota, + enum damos_action action, + unsigned long apply_interval_us, + struct damos_quota *quota, struct damos_watermarks *wmarks); void damon_add_scheme(struct damon_ctx *ctx, struct damos *s); void damon_destroy_scheme(struct damos *s); diff --git a/mm/damon/core.c b/mm/damon/core.c index 3e0532c6896c..c2801656a32d 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -323,7 +323,9 @@ static struct damos_quota *damos_quota_init_priv(struct damos_quota *quota) } struct damos *damon_new_scheme(struct damos_access_pattern *pattern, - enum damos_action action, struct damos_quota *quota, + enum damos_action action, + unsigned long apply_interval_us, + struct damos_quota *quota, struct damos_watermarks *wmarks) { struct damos *scheme; @@ -333,6 +335,13 @@ struct damos *damon_new_scheme(struct damos_access_pattern *pattern, return NULL; scheme->pattern = *pattern; scheme->action = action; + scheme->apply_interval_us = apply_interval_us; + /* + * next_apply_sis will be set when kdamond starts. While kdamond is + * running, it will also updated when it is added to the DAMON context, + * or damon_attrs are updated. + */ + scheme->next_apply_sis = 0; INIT_LIST_HEAD(&scheme->filters); scheme->stat = (struct damos_stat){}; INIT_LIST_HEAD(&scheme->list); @@ -345,9 +354,21 @@ struct damos *damon_new_scheme(struct damos_access_pattern *pattern, return scheme; } +static void damos_set_next_apply_sis(struct damos *s, struct damon_ctx *ctx) +{ + unsigned long sample_interval = ctx->attrs.sample_interval ? + ctx->attrs.sample_interval : 1; + unsigned long apply_interval = s->apply_interval_us ? + s->apply_interval_us : ctx->attrs.aggr_interval; + + s->next_apply_sis = ctx->passed_sample_intervals + + apply_interval / sample_interval; +} + void damon_add_scheme(struct damon_ctx *ctx, struct damos *s) { list_add_tail(&s->list, &ctx->schemes); + damos_set_next_apply_sis(s, ctx); } static void damon_del_scheme(struct damos *s) @@ -586,6 +607,7 @@ static void damon_update_monitoring_results(struct damon_ctx *ctx, int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs) { unsigned long sample_interval; + struct damos *s; if (attrs->min_nr_regions < 3) return -EINVAL; @@ -602,6 +624,10 @@ int damon_set_attrs(struct damon_ctx *ctx, struct damon_attrs *attrs) damon_update_monitoring_results(ctx, attrs); ctx->attrs = *attrs; + + damon_for_each_scheme(s, ctx) + damos_set_next_apply_sis(s, ctx); + return 0; } @@ -1127,14 +1153,29 @@ static void kdamond_apply_schemes(struct damon_ctx *c) struct damon_target *t; struct damon_region *r, *next_r; struct damos *s; + unsigned long sample_interval = c->attrs.sample_interval ? + c->attrs.sample_interval : 1; + bool has_schemes_to_apply = false; damon_for_each_scheme(s, c) { + if (c->passed_sample_intervals != s->next_apply_sis) + continue; + + s->next_apply_sis += + (s->apply_interval_us ? s->apply_interval_us : + c->attrs.aggr_interval) / sample_interval; + if (!s->wmarks.activated) continue; + has_schemes_to_apply = true; + damos_adjust_quota(c, s); } + if (!has_schemes_to_apply) + return; + damon_for_each_target(t, c) { damon_for_each_region_safe(r, next_r, t) damon_do_apply_schemes(c, t, r); @@ -1419,11 +1460,19 @@ static void kdamond_init_intervals_sis(struct damon_ctx *ctx) { unsigned long sample_interval = ctx->attrs.sample_interval ? ctx->attrs.sample_interval : 1; + unsigned long apply_interval; + struct damos *scheme; ctx->passed_sample_intervals = 0; ctx->next_aggregation_sis = ctx->attrs.aggr_interval / sample_interval; ctx->next_ops_update_sis = ctx->attrs.ops_update_interval / sample_interval; + + damon_for_each_scheme(scheme, ctx) { + apply_interval = scheme->apply_interval_us ? + scheme->apply_interval_us : ctx->attrs.aggr_interval; + scheme->next_apply_sis = apply_interval / sample_interval; + } } /* @@ -1470,16 +1519,30 @@ static int kdamond_fn(void *data) ctx->attrs.sample_interval : 1; if (ctx->passed_sample_intervals == ctx->next_aggregation_sis) { - ctx->next_aggregation_sis += - ctx->attrs.aggr_interval / sample_interval; kdamond_merge_regions(ctx, max_nr_accesses / 10, sz_limit); if (ctx->callback.after_aggregation && - ctx->callback.after_aggregation(ctx)) + ctx->callback.after_aggregation(ctx)) { + ctx->next_aggregation_sis += + ctx->attrs.aggr_interval / + sample_interval; break; - if (!list_empty(&ctx->schemes)) - kdamond_apply_schemes(ctx); + } + } + + /* + * do kdamond_apply_schemes() after kdamond_merge_regions() if + * possible, to reduce overhead + */ + if (!list_empty(&ctx->schemes)) + kdamond_apply_schemes(ctx); + + if (ctx->passed_sample_intervals == + ctx->next_aggregation_sis) { + ctx->next_aggregation_sis += + ctx->attrs.aggr_interval / sample_interval; + kdamond_reset_aggregated(ctx); kdamond_split_regions(ctx); if (ctx->ops.reset_aggregated) diff --git a/mm/damon/dbgfs.c b/mm/damon/dbgfs.c index 124f0f8c97b7..dc0ea1fc30ca 100644 --- a/mm/damon/dbgfs.c +++ b/mm/damon/dbgfs.c @@ -278,7 +278,8 @@ static struct damos **str_to_schemes(const char *str, ssize_t len, goto fail; pos += parsed; - scheme = damon_new_scheme(&pattern, action, "a, &wmarks); + scheme = damon_new_scheme(&pattern, action, 0, "a, + &wmarks); if (!scheme) goto fail; diff --git a/mm/damon/lru_sort.c b/mm/damon/lru_sort.c index 7b8fce2f67a8..3ecdcc029443 100644 --- a/mm/damon/lru_sort.c +++ b/mm/damon/lru_sort.c @@ -158,6 +158,8 @@ static struct damos *damon_lru_sort_new_scheme( pattern, /* (de)prioritize on LRU-lists */ action, + /* for each aggregation interval */ + 0, /* under the quota. */ "a, /* (De)activate this according to the watermarks. */ diff --git a/mm/damon/reclaim.c b/mm/damon/reclaim.c index 648d2a85523a..ab974e477d2f 100644 --- a/mm/damon/reclaim.c +++ b/mm/damon/reclaim.c @@ -142,6 +142,8 @@ static struct damos *damon_reclaim_new_scheme(void) &pattern, /* page out those, as soon as found */ DAMOS_PAGEOUT, + /* for each aggregation interval */ + 0, /* under the quota. */ &damon_reclaim_quota, /* (De)activate this according to the watermarks. */ diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 093700f50b18..3d30e85596b0 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -1610,7 +1610,7 @@ static struct damos *damon_sysfs_mk_scheme( .low = sysfs_wmarks->low, }; - scheme = damon_new_scheme(&pattern, sysfs_scheme->action, "a, + scheme = damon_new_scheme(&pattern, sysfs_scheme->action, 0, "a, &wmarks); if (!scheme) return NULL; From patchwork Sun Sep 10 03:40:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378444 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 4A035EEB57D for ; Sun, 10 Sep 2023 03:41:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D24A6B012A; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 65E136B012B; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 465D36B012E; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) 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 054436B012C for ; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6527AA07DA for ; Sun, 10 Sep 2023 03:40:58 +0000 (UTC) X-FDA: 81219286596.13.C6EAE65 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf23.hostedemail.com (Postfix) with ESMTP id AEB06140003 for ; Sun, 10 Sep 2023 03:40:55 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Yhf4w8t1; spf=pass (imf23.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317255; a=rsa-sha256; cv=none; b=ik7TyQ0dhOqKS5XT2FG6KJ8754oMuXk0THdFYHGTXOL3U1MOjEoIoM3XEwJMY8VNJvvt3l cxOKGOWfrfpp7D6ajzBRjPa6DlSSmRa0OB8Sk9wW6BGgP9wPU9PzF1sQG1hNMZKEKiKQgd dagbbxoqtQH9deUU3ClD6D0hX7AZ9qc= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Yhf4w8t1; spf=pass (imf23.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317255; 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=/taA131RLMOon4BDgU01sqZZPFDcXmF9GVqTYwaZBbU=; b=h3DJqn7BAPkEaGMviEZqHLXjk2tuS+k/xcS3S8jcf/HQNiaZ4HwwH/WP8bUx/LUuzckMmU 1LE5KLqAe8hE7v4Wi7eAKJNnQKs1Zo6HJ4+uQ/sG3HY2HRFRxvVU2TQFEmBpjtHm4wbsRE HbHtopn7Ycj7+AJhiI7CHHafVcv3nHI= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D9DBB60C58; Sun, 10 Sep 2023 03:40:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D67FC433C8; Sun, 10 Sep 2023 03:40:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317254; bh=nsy3XKNul10yj7Y4C7UdRuVcXMAYGZfrN5/ruA9B7bY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Yhf4w8t1fRuZJ4OQ8rFWDO3TDcY+USKFEptrVl74C2KL5spB2Zm7tlR/98C/0sNNX rhds8nFJ0m+cI7S0M+YwFjbizIG1KlgBowZHNZwfOnTvg1oa99D1XAl9yxeJxHhcey l9O9mnGh9UuVDRJHIy/L80hW5C6JnQg8UT/6pyDzRJOvu1tCEwuR8TCMjmHOw/6z2J dY7f3eZ15EVtJUXM2gAt8rSYxhJUALgBNhJtxzEC4Pu0Axg7XISKpMseJNSlxYTM0N HRTMABvBxWGayiSMvVwnCtijn7zba+kdp3uMX4qtFCl6mmh4DCe+tofNnubO2Twi8L lAXzGYDSUTY+g== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC 5/8] Docs/mm/damon/design: document DAMOS apply intervals Date: Sun, 10 Sep 2023 03:40:45 +0000 Message-Id: <20230910034048.59191-6-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: AEB06140003 X-Stat-Signature: uk17nmswreowcn38gec7kg4jbciba9ia X-Rspam-User: X-HE-Tag: 1694317255-650865 X-HE-Meta: U2FsdGVkX19p6lExjzcKpUr0tSn6zfqXfbepAgd3k4a1jUT96ciKp0RpRpueXbInZ529t5oDFtNKvUB3eGO968CwUiMwOSE1+e7U5pZdjtmXH0o+wC0bKdD+hC/9zPkdpumd+FXs4hYUuCJMiJAhw+/o0I/barc1tEj/QUtAz3fhvWaHlWULLpYl950BtBPasHQKaN6A+G46hekmf0BYG7TDnJp3NnJmy0+2DKBfctTv8vknn+GQMaGrQeUVsIgRkMY9IJdfjBoITB7ND0eCoiH/LXd61iti9dGa1t8dQxZ2THg3ESgycerzNC072AEK4JyJg0zHGlyS+W6mgcDSdvi88hf1D4Ib/BoZTMaYUIroJ6w2K87sN+OXAgfA7dNOtEZFXVm+vvCuqJqsGJdWGkEIVEzx6NAEjCSlISDLKD5vfQfjTKD4+h3P0XtmUJbJQSEVC/Qd25qbSpgtpINTlEUS5m3xCy3n54EroapVhvSrixa7+1YJ2QDA8Qc7jfPibOCFCFYlfZE7TouWvzz+CatQJqBzV4DAPC71r6Yr84bMrg3GVNAipA6ySbsjKmEZ8uJZNkbPEIa4vlgwSK7PK4T2A3dV36P79Wyvr6bK4osFC5iNl5D7xOj/LKOoVVPECL75SmOwphl1PbtjjJWIfmQMXfBJ5/ydRl2bkp1Ptdq3fqszWBguhW7A5slnponVRuPQ1d7UqJ2C4G7ukjUS/NQ1a8OSUpNcSExqF5Kvaz0SVTqcuW1TkI6ELcKg4t3XfYcfDkiLn4A5HQZAL8zNErdRHFLXn58k76D3NdUS5IoKiY58nTXGUzN9kk3dOqdS++NMT23HgV6iPyKsFcQiYgIzhgScl6B6gduJPkk6k52f13+C8XLT8t6PC97FkiVcEke6ynDWlr5RU3jPlKuQte0k+cB9mNGJ2UV61oxULh1rm07fd3BYQz/4/3TXxbnkKpdkU+H2S4srfb/SBqx Y+j9WQgq sRiN/Z+vFP70RUP4qhoRAq+BxAVtWg6kQknF8A2ZMHywBwKKHOWxx5sVTghwj7AJo8W/vqkTppdkPZIKdYknXqVIjE2MvGnGYXmlLaKOTrRvhNRkm4MVBs778xypyW6LDDkUF+f5GzPAWC87klHY2StwEA/Byo+yUVdqo5EaMhFupy1L/JzOwta/t/DOZd73yn0EFbRo4k+z/eDUkHYSt+KahcqUVScROVt15Sgyx9eLvPvgBCwpbkmN7MkY/l7vOFJM6aWIZoA208jaiJEdQxnnIBlQxX7VT3jkT6dkLGU3F2GiyTeJ+EpU0LVdF6NwAiyABR/PWZDj9SRu+hzX4iMlCJdc3jRObVBu8we2r5GxsYic= 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: Update DAMON design doc to explain about DAMOS apply intervals. Signed-off-by: SeongJae Park --- Documentation/mm/damon/design.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/mm/damon/design.rst b/Documentation/mm/damon/design.rst index 18e9b42673f8..1f7e0586b5fa 100644 --- a/Documentation/mm/damon/design.rst +++ b/Documentation/mm/damon/design.rst @@ -259,7 +259,8 @@ works, DAMON provides a feature called Data Access Monitoring-based Operation Schemes (DAMOS). It lets users specify their desired schemes at a high level. For such specifications, DAMON starts monitoring, finds regions having the access pattern of interest, and applies the user-desired operation actions -to the regions as soon as found. +to the regions, for every user-specified time interval called +``apply_interval``. .. _damon_design_damos_action: From patchwork Sun Sep 10 03:40:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378443 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 9A645EEB57B for ; Sun, 10 Sep 2023 03:41:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5703C6B0128; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D7076B012D; Sat, 9 Sep 2023 23:40:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08FE06B012A; Sat, 9 Sep 2023 23:40:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E38906B0129 for ; Sat, 9 Sep 2023 23:40:58 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DF3DBA07CF for ; Sun, 10 Sep 2023 03:40:57 +0000 (UTC) X-FDA: 81219286554.09.2C2AD3B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf16.hostedemail.com (Postfix) with ESMTP id 3CBC6180007 for ; Sun, 10 Sep 2023 03:40:56 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=HksUUdUW; spf=pass (imf16.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317256; a=rsa-sha256; cv=none; b=y+quW2BogHJsGimqPEvjPVnrLXfM+FZI5GRauxGh6KJh1PFWFmQq6GuDFMTWZ4nQ7gzTkP 6ZEF19k4UtRmwetA0oZv4oxPQXLtT3IEcOQZMtRsYWIb20XoxbfOH4icRL0VexL/qrKV6E 34MrTsWv5XOjaIot5eFr3n19sIwLjOM= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=HksUUdUW; spf=pass (imf16.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317256; 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=2t01TS72ncdNc0ELBDe2/F8mJ0kdP1VWSrho2UJjBqA=; b=GZ08op+g3wzlHrPMyU63dvsi1yxY/oLe5FcOCVN8iEho0HIrEwipRqIeEbM8REL5bxhipG OPMusDBvr1acSGYx4yyx8Eza+WV6udxSF3IemytZHmeMDU9Dqb4stkU3IeTkD+qtVZ1uWI XzBLhcqHrZH2Kgpg97Z/1ciKBTDpchc= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7462B60C59; Sun, 10 Sep 2023 03:40:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E2A62C43391; Sun, 10 Sep 2023 03:40:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317255; bh=rUjHOoTpqiE+vomfhnfVsNQY6HBVoYZiR13zlPEqKrs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HksUUdUWanh2pIH/SIVi+KtR2Gpkua5pt58Q7EXmTfMRYCH7jaiFAOMfZNHBo42HY z39BHHSJOmBs/f8JKvNW0aPkpOiiMzWKRTfmOTIOLjJb8waymf//tQg5CphaSotpMd /Xz+oETjlqnLKNewbNPDT051K1hoSuHpjd7nOuFQamxyK84TH74GVw/5DSGP9iY+m0 oOf6ozysUwk04FHCgSAISPQ9GSarjemZhdkoPEv+0HpJ/OaGytO4+d/QwY/uTPG4Sy 9upFfCh6680+hjMyr10vq8w2P/tDJE1hwRqJrup3A7YoMVWoKHyfwmafq06KaUvh41 Qb9r1Q6zeXE2g== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC 6/8] mm/damon/sysfs-schemes: support DAMOS apply interval Date: Sun, 10 Sep 2023 03:40:46 +0000 Message-Id: <20230910034048.59191-7-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3CBC6180007 X-Stat-Signature: z4pagcgdy8tf8ix5iucjxo4ucassmwj4 X-Rspam-User: X-HE-Tag: 1694317256-273490 X-HE-Meta: U2FsdGVkX1+Ei27cerX1Ud+rX1ScH9C64Q9eGWTxHqiVGNhmGUA3+CTNjeV+Y51grOAklkJVBliSuUwtB8z5PFxDS+qZo+BRUVOdCS7ZLQcVZrtl+QQu5cl4MS3wdJA61xJte8uHusM7PTkN4DCLb7nFO7xQtCufmSY8fIyqqm1LNIiUe5ZiXpGCzoxerZYp3W39JWgLxSJo5kmVXxV0xki1YHyDMr8Iah4szdJDLZN5FWAU5iyChOlOCaziT+FYCviTymT71Bz4+0Mx9AflHEyQAjyO2hdMsAkZigbWzKJCcsG745mFDFpWiGO3Qy63Se5yqxk5VF7zuz9NWbJkNyKUn67OuPjf0ILHWOHWLZQcZ27BJlfS9S/i8ekakhZaFqg2/Dk9RMKfNLxzYLpFChMX2olOmPZ8+L1JgP8cVqktQqNlIwIe3jHeEzfKcVJ3LH1yoQOIn2rqi6TSzyk50VcmAgUfEL5gYSodgMBR5AK7BleZDnn4yzfN6mfcVOetIDgCOHtnH501N4tyarCKePZ8ULllxmNIJM4x6hBMaxHYlgj/k5aV7yMv51ZpW8QssymuEK97WF3RY1NmB8U+/QshqcT6ccBZ7a7Oq85UG+sSHlqLCQFxo0XV9qGRSfSe8IUh8ZwPKCRI2osvtNd3bU0lkH+6EqicWdEubVnN6liefKdAZg05OwwBXZL3DiTxpZnRbVrwx++xc7D4Q6XP/uYILVeNzjwvKZ79bOrZEwBG9W78I0jaDCDFj4M6HdKq4OEpHCYuclneRNROBXhGNKwEKhHI6KEYYLr6B/PpWEjWO0TU6ob6nDWrg+zXbLtsMHIYYgzm/N7cPodUOcM5LGpwcHteiHyD6hZyiAm03fKHGj5jTzYa3HQMP92c2Vo/xTadd9H45rzm/TFFM//z0d9flpEePoomuqTxUbeUcdffQVyL/MC5DtANHWtVWJSLxhJ5Q6TRbodHbmVXp9R ECzqHdWM Ht+Jegb3dBf7tPscIel8npTRSqfa9szskkASpIqBL+dorQGu4dEfyHxCPaFVwWzfCFSKEmYNQxRirpQQSTbxflnxKFX/jgJ3C5Ns4hHE0jV7jgFhEij3xOTa/FZ40vWoiIV9EFowf7cOba0tFl8W1lphLHa4teQmU95oa4gILoJsplqkOiJzU3fHhvCP4jNunm/zw8sca8j76qWvwill80to7rkVF6+xsd/RSqQbxDSuLfGSHwHZ0nxb5eM+JgrLHKmNUJ50RMMrmgB8ttYTDtCj0Q7OIn2gLBr9LmU5lPlfvBhCjMW4vKDy/bZKOs9wE3t0Urf+m0B6f9G1pjf12ZrDBRw== 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: Update DAMON sysfs interval to support DAMOS apply intervals. Users can set and get the interval for each scheme in microseconds by writing to and reading from the new sysfs file, 'apply_interval_us', in each scheme sysfs directory. Signed-off-by: SeongJae Park --- mm/damon/sysfs-schemes.c | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 3d30e85596b0..a7d70b95c4dd 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -1121,6 +1121,7 @@ struct damon_sysfs_scheme { struct kobject kobj; enum damos_action action; struct damon_sysfs_access_pattern *access_pattern; + unsigned long apply_interval_us; struct damon_sysfs_quotas *quotas; struct damon_sysfs_watermarks *watermarks; struct damon_sysfs_scheme_filters *filters; @@ -1141,7 +1142,7 @@ static const char * const damon_sysfs_damos_action_strs[] = { }; static struct damon_sysfs_scheme *damon_sysfs_scheme_alloc( - enum damos_action action) + enum damos_action action, unsigned long apply_interval_us) { struct damon_sysfs_scheme *scheme = kmalloc(sizeof(*scheme), GFP_KERNEL); @@ -1150,6 +1151,7 @@ static struct damon_sysfs_scheme *damon_sysfs_scheme_alloc( return NULL; scheme->kobj = (struct kobject){}; scheme->action = action; + scheme->apply_interval_us = apply_interval_us; return scheme; } @@ -1353,6 +1355,25 @@ static ssize_t action_store(struct kobject *kobj, struct kobj_attribute *attr, return -EINVAL; } +static ssize_t apply_interval_us_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + struct damon_sysfs_scheme *scheme = container_of(kobj, + struct damon_sysfs_scheme, kobj); + + return sysfs_emit(buf, "%lu\n", scheme->apply_interval_us); +} + +static ssize_t apply_interval_us_store(struct kobject *kobj, + struct kobj_attribute *attr, const char *buf, size_t count) +{ + struct damon_sysfs_scheme *scheme = container_of(kobj, + struct damon_sysfs_scheme, kobj); + int err = kstrtoul(buf, 0, &scheme->apply_interval_us); + + return err ? err : count; +} + static void damon_sysfs_scheme_release(struct kobject *kobj) { kfree(container_of(kobj, struct damon_sysfs_scheme, kobj)); @@ -1361,8 +1382,12 @@ static void damon_sysfs_scheme_release(struct kobject *kobj) static struct kobj_attribute damon_sysfs_scheme_action_attr = __ATTR_RW_MODE(action, 0600); +static struct kobj_attribute damon_sysfs_scheme_apply_interval_us_attr = + __ATTR_RW_MODE(apply_interval_us, 0600); + static struct attribute *damon_sysfs_scheme_attrs[] = { &damon_sysfs_scheme_action_attr.attr, + &damon_sysfs_scheme_apply_interval_us_attr.attr, NULL, }; ATTRIBUTE_GROUPS(damon_sysfs_scheme); @@ -1413,7 +1438,11 @@ static int damon_sysfs_schemes_add_dirs(struct damon_sysfs_schemes *schemes, schemes->schemes_arr = schemes_arr; for (i = 0; i < nr_schemes; i++) { - scheme = damon_sysfs_scheme_alloc(DAMOS_STAT); + /* + * apply_interval_us as 0 means same to aggregation interval + * (same to before-apply_interval behavior) + */ + scheme = damon_sysfs_scheme_alloc(DAMOS_STAT, 0); if (!scheme) { damon_sysfs_schemes_rm_dirs(schemes); return -ENOMEM; @@ -1610,8 +1639,8 @@ static struct damos *damon_sysfs_mk_scheme( .low = sysfs_wmarks->low, }; - scheme = damon_new_scheme(&pattern, sysfs_scheme->action, 0, "a, - &wmarks); + scheme = damon_new_scheme(&pattern, sysfs_scheme->action, + sysfs_scheme->apply_interval_us, "a, &wmarks); if (!scheme) return NULL; @@ -1641,6 +1670,7 @@ static void damon_sysfs_update_scheme(struct damos *scheme, scheme->pattern.max_age_region = access_pattern->age->max; scheme->action = sysfs_scheme->action; + scheme->apply_interval_us = sysfs_scheme->apply_interval_us; scheme->quota.ms = sysfs_quotas->ms; scheme->quota.sz = sysfs_quotas->sz; From patchwork Sun Sep 10 03:40:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378445 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 36803EEB57D for ; Sun, 10 Sep 2023 03:41:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54EAA6B012E; Sat, 9 Sep 2023 23:41:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FCF66B012D; Sat, 9 Sep 2023 23:41:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 378876B012E; Sat, 9 Sep 2023 23:41:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 207BA6B012C for ; Sat, 9 Sep 2023 23:41:02 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id F40F01607CD for ; Sun, 10 Sep 2023 03:41:01 +0000 (UTC) X-FDA: 81219286722.21.89388C8 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf14.hostedemail.com (Postfix) with ESMTP id E9183100009 for ; Sun, 10 Sep 2023 03:40:59 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ggjMC2rm; spf=pass (imf14.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317260; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pn6oOlASxZHN7mPKejPZwPvUfkQcqx14txayV6bXunQ=; b=nttg1rG/xV1imVxg3VUE96GibRxGzyz9y5al/1kx1jCFOAsB4jz0AqGA1h0n56RsmJU0tX FPoizklesF5/trHMdXrCFqUmbxWyMsKGqJ11MUjJFz5X8N6C2caU5Yl8aNLQUWKh1AOuCU eIV/ImeAl7i5C27NHkzCDE7PE/3I3+o= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ggjMC2rm; spf=pass (imf14.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317260; a=rsa-sha256; cv=none; b=mK5f0+V40yD44Li7gMrGeJJ5m6ch7OEMh+ZOuBBor7ciw44QpIMlQ4QrQnWiXlxTu6DWT3 Jrw8yzKCpYmqQvlhFrbc2MPgHcoEGOZALmyKxJPk3zyWLF77fWsjGYXn+VxxjsutALSm6G gr5hD2vEXWpEu4zi2qrygFaz8W09l3M= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id 610B0CE0A2B; Sun, 10 Sep 2023 03:40:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BCC7C433CB; Sun, 10 Sep 2023 03:40:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317256; bh=mFM51HzoacyqEH6SUQlgy6Seux4I2scRhn39ZTi26N8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ggjMC2rmC/l0w3mnxmHmvMLHBY+eoIkIhaqUHgcKJkeLp9KdJd9TOBud13T113lyx bK+9WVt2wR8tYBlSMiwDTbbJWBtR8c2uKMve4DoO47Ocw9i1LprtBLoEe8R1sVkRu6 QaVmD7Domx1Dhzr1xW9KHlMlM8CpgIkYhycXUCR1+xnrQy7lcckR7acPYU9lpf9ZKi 139vmPrd7zxFCh1zlOZ/eQoDhJMv/Ybu9j8+QqTtqcG/fUvso0W2tLBty1MDSUlTwy yyTYrg/FNIF/NEfT3QCrRkNG+qDMx2BtxTu2DvezLkq674bfGaS9kb86X/wN6Q68v5 MehGv6Co7gdAA== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Jonathan Corbet , damon@lists.linux.dev, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC 7/8] Docs/admin-guide/mm/damon/usage: update for DAMOS apply intervals Date: Sun, 10 Sep 2023 03:40:47 +0000 Message-Id: <20230910034048.59191-8-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: E9183100009 X-Rspam-User: X-Stat-Signature: nxho6hmk18iimznpz6diyotxcbw37hmc X-Rspamd-Server: rspam01 X-HE-Tag: 1694317259-340814 X-HE-Meta: U2FsdGVkX1/8gGQbyCh8NH8WnjROfMuWP0Nudim8xQRrwa8zOpZHo0QjsrLVWHh6kkLW8bfzBslHp4goHIpA6AzQXj5Z2Gvz6AUKWI+oCD3s1KhSJsaM5IMMC+4kb2XWw+C+d5f3AIIsESHcH7TE3NgnJBMFqOFSCtheuSP5JkSHiK9u1puih3GZzcaUw38C/m0GA2OAVcM9ty0a8WIzxiEL9HRhf8+lLyTwYCdFtDe8LGSe8dBh4I3i6Dh6XFB55+RSAAZ3/GC8ngSfffwg32oaJSjR1Yecdz80SPN6LUcQDp7GPS/rzv+xp/ZzqeXCU+dh11ZAwBHJzYZk54JkN0nRNuEBRkFG4PKQR8/TY+379ic4gq4QtI4r/s/VY7TG9ii/wOCZ4roKDmlIf/GdxstS3M94PRrjwQvJbEqzSVP0redNjNkUbuW+RhD+QqjXcbM1xDVVcwJolqH1n8ZNEeok1W7B+1AmtSF5Fr3arOVtGiNzzLpxqpTr1g22RQEdUyr58DU3JYw9M9blmAM6JxzHaS1P2eIHrBZ3QufSUfPTlWHAIT/w876hPcaTEySHLe9wklvlwew5WYerpHyA3RPFVCPRD0vHdrVhfzIl13Q/+ga61395NHAGQkIM11M1To/Mic2rOlECcLLRr4IGaAzmUHtq9VyMJzb3keHkV88vG4IPvtCAuZmyNycnxOerD9u/JMyA8Qi5FLQhqhnaYIfFMZgrrjHDRDp8jZ34dqUfhQByRaAd7ZxO/0XAjS8OPdnFWlk6sB4Jyhph4yOvViaf944tz+fSJCLBMD1ZIHziDUxv0vHgvZjyXs+cwumOQ1vk/IoktSCZXNjDxck+hA7QFWuwJ0zPqS2GN7ZbTiLJ84ivRJFVVRTuyCePED28ek/jJrhnksczWkIGX3CIsf321B/rGA+H35MldOr3AVjhyuN3uyFt/yUCPif/3Cac03TXlyaxl5PvMnXFgHM NYibHgwN z0i9TVPo7UITEHcPUK0N6ukbUJUClQ7EbllIzvh+5roLdIQEOaO8c0CgtGMXXEDMo9mPfoXSFBIUkhC00t0Cq0Oxe36cbXYXAgGJES+4yEBJ1lDs90T7jd3XGxjA8/+9o7Tc+F24OYkFnx1Ti4zdbAQ1pqa6bijmgWtBdWKM+hXWgpWvCppTEKb46PoqS2mA/1AeJM76/ZcjbZJJnIfn2Vp53/qEXf0AVaT4e6hcXVsrUjgRlWy/QVP0x8qU0ickOOwp5aGkLrDll4khq1LZCvoFMofTPmnD5kK347Yk4FzGeRMGQA80H8GIPHbcXyECKwxouC0+Cq586XdtTXbyCghkJQQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000073, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Update DAMON usage document's DAMON sysfs interface section for the newly added DAMOS apply intervals support (apply_interval_us file). Signed-off-by: SeongJae Park --- Documentation/admin-guide/mm/damon/usage.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst index 6272cd36590a..8507a6e45d86 100644 --- a/Documentation/admin-guide/mm/damon/usage.rst +++ b/Documentation/admin-guide/mm/damon/usage.rst @@ -76,7 +76,7 @@ comma (","). :: │ │ │ │ │ │ │ │ ... │ │ │ │ │ │ ... │ │ │ │ │ schemes/nr_schemes - │ │ │ │ │ │ 0/action + │ │ │ │ │ │ 0/action,apply_interval_us │ │ │ │ │ │ │ access_pattern/ │ │ │ │ │ │ │ │ sz/min,max │ │ │ │ │ │ │ │ nr_accesses/min,max @@ -269,8 +269,8 @@ schemes// ------------ In each scheme directory, five directories (``access_pattern``, ``quotas``, -``watermarks``, ``filters``, ``stats``, and ``tried_regions``) and one file -(``action``) exist. +``watermarks``, ``filters``, ``stats``, and ``tried_regions``) and two files +(``action`` and ``apply_interval``) exist. The ``action`` file is for setting and getting the scheme's :ref:`action `. The keywords that can be written to and read @@ -296,6 +296,9 @@ Note that support of each action depends on the running DAMON operations set - ``stat``: Do nothing but count the statistics. Supported by all operations sets. +The ``apply_interval_us`` file is for setting and getting the scheme's +:ref:`apply_interval ` in microseconds. + schemes//access_pattern/ --------------------------- From patchwork Sun Sep 10 03:40:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13378446 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 A3898EEB57B for ; Sun, 10 Sep 2023 03:41:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D16676B012D; Sat, 9 Sep 2023 23:41:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC4A36B012F; Sat, 9 Sep 2023 23:41:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B400D6B0130; Sat, 9 Sep 2023 23:41:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A02766B012D for ; Sat, 9 Sep 2023 23:41:03 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 76DD64083C for ; Sun, 10 Sep 2023 03:41:03 +0000 (UTC) X-FDA: 81219286806.19.C12989B Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf02.hostedemail.com (Postfix) with ESMTP id 75D9380005 for ; Sun, 10 Sep 2023 03:41:01 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=S8Q9uAD8; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694317261; 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=alqlwqGbXdvxEAQtsSQzGpGwyTFVwe6CMf9RuauYePk=; b=Dw3o5FDt7XoCfUFxT/lNmWEqeXncbl0QEnOPBudeLxw6m4dsy4EmnwiREQuvcY/WXEKllj /SBUvKwFqC7CH/Vq9WlsvTOnd3ivI32OLvGUYhszHy3JMInqp5qeiMxHZhb/obqTOnOHwr lh9WrLSCoJQlPGKgw8H1AbmlXXH1lmM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694317261; a=rsa-sha256; cv=none; b=msH39VA4ui1sQgNJU/So4cob9WGQGEY+OLheh4Vz1yReE/o5YzAYv0HUVVD1wphMUbF+kD w4II7ATr8Zij/Vb8shVpWRNDyaOTpxV8l4dkmBYuSJ5Y3KFO/gHSZtSvzJOb7J5M7BTW2R VyYRuFRx7/S5ac5n4nOcb6SBV6A9A6M= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=S8Q9uAD8; spf=pass (imf02.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id 7C199CE0AD7; Sun, 10 Sep 2023 03:40:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2FF92C43395; Sun, 10 Sep 2023 03:40:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1694317256; bh=eynGbeHbTWCoAAQx22o6QCyTrP+ceLiyJPZLaUvkSBw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S8Q9uAD8o9PcqFqVFXtN8GWHciJp1oKA9CHvzkSpgw2OPWsaRycMdldPI1RynQ5wX n3N+eRILhlbnDGLvA8HdsQknJrO7Yo5eOR6l2ePhuVATnpcYyhgx59gEiewNFrOVaB G7Xy+AuwGCx0+pXOdCLAuicPvGAqLNGAR1zzACOgQ+DBqMaRkLOWe+t7Xme9gU04WO 91IxlBNu0x8dHZrcbT6+TuwF2Jh7/H819njkFGH23Xml9mRdyUU0Wn7ffzt7rkujyp omII1CcYj4RI/3WxnO4vlWDtMvA/Ub6lqgD1orJJPnkmG4/OlkdKgQmZPNzXEtI8zf m+eV7d+nCJ4VQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC 8/8] Docs/ABI/damon: update for DAMOS apply intervals Date: Sun, 10 Sep 2023 03:40:48 +0000 Message-Id: <20230910034048.59191-9-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230910034048.59191-1-sj@kernel.org> References: <20230910034048.59191-1-sj@kernel.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 75D9380005 X-Rspam-User: X-Stat-Signature: uzkrftnx9yxr3d765ytdxkscjk6j18zy X-Rspamd-Server: rspam03 X-HE-Tag: 1694317261-549422 X-HE-Meta: U2FsdGVkX1/V+gXVuW1UGgDPH8R8izeIYJ56LbDcUttqxoHx9gFBX4FtEjPRjeeeP0irFhIJbpYlx2GiFXJor6jcMMrobKIT5QBe1bdqHgfaFEej+Ew26fpWppCHagciDF/POr4sjVsyYIP7a6GiwtnuJ9d2sG2flgNXeWtUh2sraDEGzY6iVI6bIGxsqqwJnmwV8HWsgPS4yc/yRdQx+h1FNGmVexly11FXu+hHukCVX8T1dNSGwDgusSnONSeMby1axh9EV+u5w0EZunNHzaVkDMl5EM8pPS4o9qdokXJ75x8BtHO6iBhTISYdHpwy8qTQZM0xMj3sJEsiYiPgCBVgCHPwW+v8jW3Va+cvPIh6pdm5ux3LhJdj1xl0SvmLQ/7CHLs+QjUUpeOlPdFWA3QZKA1nTBnO13fUMQ94sjuvvd1MSY/ZrsPrLbKgCcdT6nf3vPeB/f2Y4n5TdurC7wJdDWDRQ6wYLETydq20rMHPniWW5Lv63RlyMgStMWnNPtc/+dX+VCJ84ruRDUhDczY3HPgXQjJHawYbGDpCrErccqRI/IhDzRg6BHI3hyc2cWUq+B26tB1CBeuDL1NWBKCq+zNppIL2zzuCnuJfrr+b7QC+FlyI5PNK87e8HkqItNnU5fVAbLd+Pn4SWQjs2PiOE/aidIyeGOW2cOyxvaHy6kxYdLaArd0U0vxhAURGZasi66nJm8cJGH3VHatm5yXR1ZJ7J/iUcHAUXuCzA1XwW9DSLASeoQVadXj4CtE7wmzb3GKbe7hKYRmFl/SBy7f31PBlvIfdyDEvyvJunlK21x6jDcahB1pG9HgTgowroxwal9vNF2Lf0duBO5fnE+vjDH4e4sNwlBgKwwchnNbI4IkBXPoNyf1kEUsnAyFEvSdzEoOwXr40FF8mIaadFtpcLPFygAEVkWZCPqj42QBK/w5X+lUobAJhWADyzsj42/Qyfz1Zm+ftcoZ0Orl oJsRhJHY aL37I4KyuZyX4XWjJ/IZYtIivDvNXkSGr0ix48SX/nrzvxUA9+rDiz07W4YYoeHaiSmTaAty5Pp+XKbHG76wr6G+hxr26AeC07cSOAcYvZlDx61lrVaYqDT3NBfgvqZDDS8Dpo7znJTxNGTI0vmLJOa+JiOFryvP0ERk5XtVhvRzxpApk8QskaBeHRspNZ6BhUVcesaksAAl12qZlJB7HY3kQaORUKojNPwdrvgjPjVTIsmhQ85ObRMq4j8XWWh4HOGQCthtljwqVkEVNGqSL7FQfjx6X3Lmkmp74unIfxQTUAKmpe3eo4U7PInR/rQRaX7SdJN+VsygeCSoenFy9VzaeCUPs9Y8Dq4VAmEWUFh4W3wHk72ass8NwuxXoc+VlgozvWqmvdCqooyA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000018, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Update DAMON ABI document for the newly added DAMON sysfs file for DAMOS apply intervals (apply_interval_us file). Signed-off-by: SeongJae Park --- Documentation/ABI/testing/sysfs-kernel-mm-damon | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon index 420b30f09cf0..b35649a46a2f 100644 --- a/Documentation/ABI/testing/sysfs-kernel-mm-damon +++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon @@ -151,6 +151,13 @@ Contact: SeongJae Park Description: Writing to and reading from this file sets and gets the action of the scheme. +What: /sys/kernel/mm/damon/admin/kdamonds//contexts//schemes//apply_interval_us +Date: Sep 2023 +Contact: SeongJae Park +Description: Writing a value to this file sets the action apply interval of + the scheme in microseconds. Reading this file returns the + value. + What: /sys/kernel/mm/damon/admin/kdamonds//contexts//schemes//access_pattern/sz/min Date: Mar 2022 Contact: SeongJae Park