From patchwork Mon Feb 3 22:55:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Usama Arif X-Patchwork-Id: 13958383 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 DD017C02193 for ; Mon, 3 Feb 2025 22:56:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4CAC56B0083; Mon, 3 Feb 2025 17:56:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 47A4C6B0085; Mon, 3 Feb 2025 17:56:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A63C6B0088; Mon, 3 Feb 2025 17:56:19 -0500 (EST) 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 08F966B0083 for ; Mon, 3 Feb 2025 17:56:19 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id AC360140410 for ; Mon, 3 Feb 2025 22:56:18 +0000 (UTC) X-FDA: 83080143636.29.FC25791 Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) by imf05.hostedemail.com (Postfix) with ESMTP id CAF0C100007 for ; Mon, 3 Feb 2025 22:56:16 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=nKIqIBPy; spf=pass (imf05.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.160.172 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738623376; 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=41tMxJUWugj4muQLNlfvYZtegLPJnS/0DzPLe1FwwWo=; b=yXd+pGzCMvKP3Pg2k1/faVZ6i8mFkrOawSoQIMm6FSCINVQoT6RRzovJshsW+vkZ08Am+v eS60JcJ0KHgRUnWPf7h3QLq03mR7JKUN52XiIAMt25LXDv1MqxDtLqEY2KlR6hDpnLGQHO 0sM6ubaxSYqTQ8urrW3btRmpD0baV+k= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738623376; a=rsa-sha256; cv=none; b=jfhXZXYzYRtDQ/hcVaauijj4ikZBxUW7HNh/pVvyCuiq5kHaqSjKOpXx7p80wrZ3Y5cTQM XXHP7cxM0kSCVFyqb1ZnSfQOGwG+jU2hClQRwlYk5zf278aEcOnBIjC+ojgopHVlEKSukr HZtuJGfAS++nf79EADF8ylDDH4iEtWw= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=nKIqIBPy; spf=pass (imf05.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.160.172 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qt1-f172.google.com with SMTP id d75a77b69052e-46b1d40abbdso43278311cf.2 for ; Mon, 03 Feb 2025 14:56:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738623376; x=1739228176; darn=kvack.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=41tMxJUWugj4muQLNlfvYZtegLPJnS/0DzPLe1FwwWo=; b=nKIqIBPyoOgtw/6RqtTTZ4iaO+wf37xsUURn8n/14/UdRPC6M491AiwhJTtLrO+NTE nzdLvQQv3KLMP83koBTnLRkOEF5qzLvkXXs+sp4ztwFKVikWdjaQNuPKwc0G5SSOpL9x APONvrMvtW5erVMUzGbAeZ6E0YtgLQKY9akKfudPPNoNRdyT4oKrm4+O5R85GuNoabhZ 1eU3Tx6P1Hi7jsnnxJTJVazrNFlKVzyQcTct9fmNjW33Yi/2ZDMmd3BIymg7kVCEewFZ sMvnjL23NARf0Y8F1lG4ZdWQZQFoM8hQMyee+bGMHdVI/d+ZhyPU4a1hiVhp5OqrZ1CY XnVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738623376; x=1739228176; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=41tMxJUWugj4muQLNlfvYZtegLPJnS/0DzPLe1FwwWo=; b=jgqHhTDXsles6u7L/uu24HoHYxMdJ4OGt8l9y74R6yCyPV8SPEuQL5mFzggRLYtK4B gLihMkOG7VDVqg6hxpRQ+GJQVXz9WSntZIoRbaPdn029wh8U65cy0Q1zkYtCCaae8Mvh 1XRI8gAiBiiUEIHOSQRL/bnIesAvFHFMaBEgCnAHR8hTstNWdS4YiAPG5f6mdpOp35xS 9AJYP7pNHRjObNsMV8pu7ADBkVGr4WHbbmo7wK58+2q2O1uRGgnL34MpUw79WTZ3gNwV y9PuwzfeUd5ACncokiXbHBRdXv+OioSomA3MMMo4QuIABWAIC9R5po+j1KY3rHQ+6myn FGJQ== X-Forwarded-Encrypted: i=1; AJvYcCWQWp+lUPu1Qaq06KZLOvgM16Pfg0PNF8vdEeLNXTerAg+ptDJ+oSp+uC5Kz/lCY6ax9zvd5KfI0w==@kvack.org X-Gm-Message-State: AOJu0YzMl9lrfk0gpOm3OccmYk2gVrHFy/S+OO7UtqO5LJDRXp8TgNna FybACbiRQ6z38Ri5RrsInp57NUY8vMoygwZsFcjckRbC+eYw475u X-Gm-Gg: ASbGncuUXcthN40mGSC32vSyGke7/skfJziTrK2gPzI1DD1oIPjeFcnboWwyzqeXbMr OueKy7RhzXbBBleQvYwjVepDOX1t+Uqi869yD9VRlOTB1c8QrIvSutypFReC9jJdOgcea5Ou+NL 3tyf3Og9EFnvV2fdhs6G7XiRkcDgxWdxopKSS3eeidLGqLG+9HXpo8WiDI7QcN82XUKznMdsQj4 ywV6cF1FWMH+USL786BSGwqScYtBhZq7jLiaGeX8Wc55BmqyZjLeRqlcUm4FZ8kYUXqlfzz66tj VKW9Ru+Yxg== X-Google-Smtp-Source: AGHT+IHEyMAxtPn4mYYMqnCdQIZdRu7V7ahosAsbjAMTD4Ru1PKvmdma8lTgGBBBhUTzDhEWxaAU/A== X-Received: by 2002:a05:6214:3bca:b0:6d8:9ab7:adcc with SMTP id 6a1803df08f44-6e243c37f22mr385613186d6.22.1738623375949; Mon, 03 Feb 2025 14:56:15 -0800 (PST) Received: from localhost ([2a03:2880:20ff::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6e42370f364sm538906d6.106.2025.02.03.14.56.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2025 14:56:15 -0800 (PST) From: Usama Arif To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, hannes@cmpxchg.org, david@redhat.com, kernel-team@meta.com, Usama Arif Subject: [PATCH v4 1/6] mm/damon: have damon_get_folio return folio even for tail pages Date: Mon, 3 Feb 2025 22:55:28 +0000 Message-ID: <20250203225604.44742-2-usamaarif642@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250203225604.44742-1-usamaarif642@gmail.com> References: <20250203225604.44742-1-usamaarif642@gmail.com> MIME-Version: 1.0 X-Stat-Signature: cuykbzhg4pbz5t1pbywa97rmc9guksdy X-Rspam-User: X-Rspamd-Queue-Id: CAF0C100007 X-Rspamd-Server: rspam03 X-HE-Tag: 1738623376-721100 X-HE-Meta: U2FsdGVkX1/yZhrpBWdFx0STOZfzKTdkMc3wlUSaSuBuSsv4CWNSRlzMbs6AyI5vPO9fL1a8bH31/rcdJ7BuyAA//c38savDodHbybXfFPMDXK8Yq8R4YSZTRe5SODT6pXSyHRGj3z7llbf2TMS2oEkeYBLur/K/Lc7d3cNaMkCgxNurWxTXBfukkpmBUI5r9nJW4d0Je0SRvP5N1+39ju6C/ik5UXA8i8/V6OiP2lKf/MVXJFEOqPbj8KOwv7hCbvZuIolh3d69ByCJ/TlOFVCoHFfg3RYQ5Q2s/MuMUODc+0G71W9j7ib3vIxfWYiS8W8VDZ/BxyE3I+41NvQ9I0x7hZw4kD20UKe+c0KFWoGb0oVbcRQ3ff1GHSQD3ZFtwdYjzUIsqPml/87ZtLVZipR6X0kdzzbxtjL/oUq9ZQst21W/ht1M2IhDnGIkAAGtOsUlt202EL0gpcUsMlzn3xiHcgnyrsQdj39l43a6noSUY1D8NyG23MA5RS4NUtOgkVQCJ9snVWl3DCqPpYvY3S3Yaxcm8EqxSklnfSFCyTcr4vnAEgA0KKjkbOrklAnNRXiAdMyZAn5kZRjC64V8fS3jWyWOMdGgkxZzAqvEynIpcPEgwFuXLDeDfeE8maLiaTx2vJCJcStSKYyl0iOcptl5wCw0rst2UQ1qwapro52BWq9UtyQXhPWmJ1OliEABM7Ca/fM/43AJT40wOPqtf1ylhmbSaX37SaK9ZbQxX5mlwTNQ+cjAN+CuUIYu1jOCiig4UL1NzIORVDHXHd8hC/qrNAhEUBpro7BNyho7hy0cpk+sTCe8+WU9C6IthC/UVSDH+V+Q44asb7Q/nQRdhrsidE162/AcYJLSxUJQVPWGt2JDGgHyuwnvH9Ex1BDfrpPIr5CNgxznSc/nZ6Q8jkWzUYXaz9xh4qLqsWuhCUjFhl1motYo7EQW5QgpdDpa9rUazHHZkzKKuSw+pow 9fTHumsh mGjh/1debjF2ZxQpNgWhPJSDEHcOFEDHskZw4AiLAKzgBk4apf/bwMXnIfWCW3yJdEkaRAj2uqZWMuea0t18puBnBjNQEL3PwWc0qzeidIBZpsmwZ2hnhrKQfm1thfajXzfcrNcKxhqwjIOx5tBr7WB2zMq4j8vi8H7x5zlRp2a9hP62p71v3TzUvJ1uU8QJ/tcRhatqo8kGaSVVKJPO3JKGQaqvdXX24BR+QJYvlQsFqM9BJAVYWfZuDGaOH4uwSTOjmW1BQlhdPyxMVe5mDdvDG5bHMPCvexmHeXKTr+T1TnoKXXnrbcGomnZPoiUXh70ac3Qstha8FP2fSnZX0MzssKM3DzMu21HUtyO8azFHB9hskxV3B305MwXSTbApkcSQTSQx/DLKu3mgCYO4B5j1XwQ7TB0E9hifMIcvj+9uvQx9VBgiQU9/zyJBSVVU1Aaic4HufFROH6O/cYW9y5VYQHJCW2qy+R4VVjp7xfLWG8jxxDHDwHDYauAL0dMzropqvkjBp+Bw+E8mJQig4D22FsIWTB1eaB6halmgXULnVRziaHCGsWz/A7Wsux/B8Qxz9XklRIwvZhn5n0+T1bDJDwGI1bTwXLimz7xNfKuLGfrMcJNXo+7a5U2ETJAU2n1eqRJ8wUptvyYKR9yNOXE5HPfoMiMft0Z3FbxhGVvfelnKyM+4BXXbj+RMTHkLXRuPBD/11alf6Wg8DJ5KlkAFCNxELuIkXMfhgkUR3sd8KLQ+6IcJ93yxthe67TmP1n4pUJkk0flIuKr+R6iff4+mL+lkZSIxWYVIjp5kY45ipPOHXHgd9HbU9Y30UD1hyF+wmaQWEDtDnzL94a2n+q0keT6ndQE2ezQ5IBUnPVdTV3fHQPojWmWahFDhRd+j1a5hGlK0KJQVO9Ps0DkJeB3LUklHmctCTVL0R2d81Gws08lYE4JGTlP++TuUsBwaIX6u9LFVeJocdulcmZHtj+EQM1TOe id//ZwQl 4HVJGn1EpvUIqGyZOQfVBwogmoAjSpDv/aTu/Hlx7OaTnaM8/FNs5lq5420jCqbWYw67HYW4XHCNnjcftoTFBsRjitXTOcnXc7CMUgfH6ENaemr3wb/XSDjCqDlLDwhe X-Bogosity: Ham, tests=bogofilter, spamicity=0.001366, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This effectively adds support for large folios in damon for paddr, as damon_pa_mkold/young won't get a null folio from this function and won't ignore it, hence access will be checked and reported. This also means that larger folios will be considered for different DAMOS actions like pageout, prioritization and migration. As these DAMOS actions will consider larger folios, iterate through the region at folio_size and not PAGE_SIZE intervals. This should not have an affect on vaddr, as damon_young_pmd_entry considers pmd entries. Signed-off-by: Usama Arif Reviewed-by: SeongJae Park --- mm/damon/ops-common.c | 2 +- mm/damon/paddr.c | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/mm/damon/ops-common.c b/mm/damon/ops-common.c index d25d99cb5f2b..d511be201c4c 100644 --- a/mm/damon/ops-common.c +++ b/mm/damon/ops-common.c @@ -24,7 +24,7 @@ struct folio *damon_get_folio(unsigned long pfn) struct page *page = pfn_to_online_page(pfn); struct folio *folio; - if (!page || PageTail(page)) + if (!page) return NULL; folio = page_folio(page); diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 0f9ae14f884d..0fb61f6ddb8d 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -266,11 +266,14 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s, damos_add_filter(s, filter); } - for (addr = r->ar.start; addr < r->ar.end; addr += PAGE_SIZE) { + addr = r->ar.start; + while (addr < r->ar.end) { struct folio *folio = damon_get_folio(PHYS_PFN(addr)); - if (!folio) + if (!folio) { + addr += PAGE_SIZE; continue; + } if (damos_pa_filter_out(s, folio)) goto put_folio; @@ -286,6 +289,7 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s, else list_add(&folio->lru, &folio_list); put_folio: + addr += folio_size(folio); folio_put(folio); } if (install_young_filter) @@ -301,11 +305,14 @@ static inline unsigned long damon_pa_mark_accessed_or_deactivate( { unsigned long addr, applied = 0; - for (addr = r->ar.start; addr < r->ar.end; addr += PAGE_SIZE) { + addr = r->ar.start; + while (addr < r->ar.end) { struct folio *folio = damon_get_folio(PHYS_PFN(addr)); - if (!folio) + if (!folio) { + addr += PAGE_SIZE; continue; + } if (damos_pa_filter_out(s, folio)) goto put_folio; @@ -318,6 +325,7 @@ static inline unsigned long damon_pa_mark_accessed_or_deactivate( folio_deactivate(folio); applied += folio_nr_pages(folio); put_folio: + addr += folio_size(folio); folio_put(folio); } return applied * PAGE_SIZE; @@ -464,11 +472,14 @@ static unsigned long damon_pa_migrate(struct damon_region *r, struct damos *s, unsigned long addr, applied; LIST_HEAD(folio_list); - for (addr = r->ar.start; addr < r->ar.end; addr += PAGE_SIZE) { + addr = r->ar.start; + while (addr < r->ar.end) { struct folio *folio = damon_get_folio(PHYS_PFN(addr)); - if (!folio) + if (!folio) { + addr += PAGE_SIZE; continue; + } if (damos_pa_filter_out(s, folio)) goto put_folio; @@ -479,6 +490,7 @@ static unsigned long damon_pa_migrate(struct damon_region *r, struct damos *s, goto put_folio; list_add(&folio->lru, &folio_list); put_folio: + addr += folio_size(folio); folio_put(folio); } applied = damon_pa_migrate_pages(&folio_list, s->target_nid); From patchwork Mon Feb 3 22:55:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Usama Arif X-Patchwork-Id: 13958384 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 86052C02192 for ; Mon, 3 Feb 2025 22:56:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E1AB46B0088; Mon, 3 Feb 2025 17:56:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DA5A16B0089; Mon, 3 Feb 2025 17:56:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA5AC6B008A; Mon, 3 Feb 2025 17:56:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 986BF6B0088 for ; Mon, 3 Feb 2025 17:56:20 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1CBF21401BC for ; Mon, 3 Feb 2025 22:56:20 +0000 (UTC) X-FDA: 83080143720.27.AF26B65 Received: from mail-qv1-f51.google.com (mail-qv1-f51.google.com [209.85.219.51]) by imf30.hostedemail.com (Postfix) with ESMTP id 417F08000C for ; Mon, 3 Feb 2025 22:56:18 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="ARAIzA/h"; spf=pass (imf30.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.51 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738623378; 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=mvJt+fEruqngkpaxyGnr3ktUZyTGWut/bbCY8AbcNuM=; b=59B/hzfWLVUAWfJboimqcKJejKt38uhXMsjcrVboXftJ1HvNtzsjgsvEmv9/8Xi1cy+ntj jKIbFjJWq2owplLJ0yDGZFoa4x2kMOYo9ZzZEjXsE5PGyK0Zr3VZHJE9ZHgknPJo+d2afk 5DGJ/wuDyxwCC7EoZpgaBHjoPaNcG88= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738623378; a=rsa-sha256; cv=none; b=u6iGqyyXm/BhfOs1UuaZhyzRj7xBJ7aqJ7pAF8tQcROm2EDZ8/p5moAkjjbtUEnWEkwMvB 3ILF+xNp5On8+ohRgxrsKswO88ZTvKjlDrUU/4wa3f5mSsz/6HPGeOXI2me98Uxs9+00He +mX4lmYqWHfTEuqnfA4vUqujceKC4wU= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="ARAIzA/h"; spf=pass (imf30.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.51 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qv1-f51.google.com with SMTP id 6a1803df08f44-6d92cd1e811so51855206d6.1 for ; Mon, 03 Feb 2025 14:56:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738623377; x=1739228177; darn=kvack.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=mvJt+fEruqngkpaxyGnr3ktUZyTGWut/bbCY8AbcNuM=; b=ARAIzA/hsqwVvQczAlFzEauqj3yybZrdjPo+oYcCK5e2NA+tK1e87M1uC8i0k+8mhN vN9yRvl8fbDXxikWqO3i5oJBoSdN3k8sRidMu0b6VjxoMnuC5Wx3Bcgm+C7P0BoSuiyh 4ECx+lpWbaJJm2H/v53Zf4vOGyoxt6u0LmEPOAfexzkT5BZNecpjET6MzdPenllW4WL7 PllQyAyG/JLAteAyKRGH75SLy9fg8F/lh5RnpRBRq8OT6CvqB+DfdQrE6LfgPR0jvic7 mQUHk/R9IBKARx8naQDkUhzPswD3BXI75kBKFY8IiOFDjTJABzkigLjbih0ZR0BFg9zX UuSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738623377; x=1739228177; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mvJt+fEruqngkpaxyGnr3ktUZyTGWut/bbCY8AbcNuM=; b=G/Xvx11VH5bx3t2V9VrvOr3ZlrY0LgGRyH9C2M3Pp7zljctWvgdeIGFzmUpygGc3Ly jiOFHk57ODsNxDM8ZJq6DgRjGg+HIac7CgRLY+9YO5lel6Kwi4n2LEOi4k83twaA1mU9 8M5UtCHcq58sLgAMOXLOziinteG7I+9AyJ0XcZP7jahVXMHrSkS0W1BDT9XGXKi2Fv+7 MIgKl96TVqlCZSWgWWFYdrtQd8k5TH98od6GEWJ9hSN/4PchIWSnOdWU/1KxEbJB27or tn0LoGECuXOpgDuEgvvWcq8NROI+dGGrkKg+cdKA8h8UQaocfxu8GigMDe3M356sKW5d Abow== X-Forwarded-Encrypted: i=1; AJvYcCXFrQQNs+CmwhE5bpOOPOEysNevsLigJJQlfNvzbj8+ndyzzgM2Ug5sy+Y8WHoGSnSBZ3NgFPTi/g==@kvack.org X-Gm-Message-State: AOJu0Yzbefm8uqCYacYxYaC9OKk+dcZNhmMsq1uDahTYNIbgP0Eks3FY R0psRLpS77U/f17aKMabTs8aVUvKxVYGUc5tz65upliAJzUFMAP4 X-Gm-Gg: ASbGnctP5vgyFzkrdV5JvNnEH2q94vx9I4SNfXXinqVsplFotyhUPeIUrvu78JbtuiD SKMvYxfki6ruW05wuy9qI0ZUmwO6CvwvwGFUjSTC8T4a3lrzQj4oTFVjxBBopCh9KX0YI8NOKE7 QAnkGWTUffkc0Ybq63gzQjRNCqJhXBiHKBjFr8MabD+ts0ekWIjTYyUdrHhjxZaMSIJo8L3Jy/U lifYHt/nTFd3ph0I1oDdofhTfkkaUgo/bZYciMA1OoIGP9USnvcaBR7DazX7Au19CLvDDLZkqOZ W3EfR4YNeqoupQ== X-Google-Smtp-Source: AGHT+IGZGiDWsAItpMx6EqpFdOI9RwZXbh1AnvXhNiaoicoO9ioWU9y5O0LcM7+GW7aqKjxfh7rJbQ== X-Received: by 2002:ad4:542b:0:b0:6e1:715f:cdf5 with SMTP id 6a1803df08f44-6e420f70692mr17900976d6.15.1738623377338; Mon, 03 Feb 2025 14:56:17 -0800 (PST) Received: from localhost ([2a03:2880:20ff:73::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6e254814d0csm55155536d6.43.2025.02.03.14.56.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2025 14:56:16 -0800 (PST) From: Usama Arif To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, hannes@cmpxchg.org, david@redhat.com, kernel-team@meta.com, Usama Arif Subject: [PATCH v4 2/6] mm/damon/paddr: use damon_get_folio_in_region to obtain folio Date: Mon, 3 Feb 2025 22:55:29 +0000 Message-ID: <20250203225604.44742-3-usamaarif642@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250203225604.44742-1-usamaarif642@gmail.com> References: <20250203225604.44742-1-usamaarif642@gmail.com> MIME-Version: 1.0 X-Stat-Signature: yehync5ouot8rttp3dqrgmgo4hwhxyx5 X-Rspam-User: X-Rspamd-Queue-Id: 417F08000C X-Rspamd-Server: rspam03 X-HE-Tag: 1738623378-900747 X-HE-Meta: U2FsdGVkX1/EkuaxmzCtGI1bvf/qZmZLbfmthlzUX6NjWpLc0nheaM2ZCUZqDpAmcsfw2myXZqfJak9ctROLqAj6SnXKSCuRZ4j6Lnhro8sChlEkk7e+Sd5Tm+mi2fR+PrKlTi6xxNBcgd6d7LkVlvk1qovd+1qDM/qJe3LnDy1HmN+GRQbEtyyspXNmJce0QkM2RDZwIs0nfm2PZ0fnUTQ/JW7Cc9WJwmmeBh4FCKAeFudcQYnbwxoOIRbydaVGX6Qg05IXD8Pz3DcARGiSkTbABng6MdYn1JMjjjbIQrnKdITYn6dwMGpjfsPF3eyYevBy4C4qVPcLLHLf1n0TAiGSPpDqLHYnMbqlyqYR/15A/WuP6A56nIed5ZC+3vN+PExNoWBwFv55Rnx1gibfvrIm/3YAcgeR9GJSuJim9aNc23TD0BxbmWZU00mFaKRaSjIklXjK7IyEUs2Rzf1EjRdHnSCYihPjy92d6dfOlO4DvkPtcoiyadkgipq489AnkoN31oSm4gj5Kf+tbJluDMUWxylYKVtIiIVgno833pMRdL2/3DT1kUVBHi+HJm1aQdDZskZSAsOmp/U9d8u+nkgYyPQh5pQlRX/0/HvvfxjGJ0D1Xq+Mez+N5vcrHtrK9oL9aa540G78orioOYhXgPrhO9IcCts3QBBSYzIwd1suVpUccatKxv6KZJV7Jxj+6k9UXpesNH4zXZjbNHmJGZ6IhI6oh6x0WP35UdDj2A1IS14lKwgaAmh8LkytNpmhC7NVahh2DjbI8N1QTQKO45vv7p6DLAFyNwfhebduH8tZV7SMvFpms+++pLOK06zL88FI/a412zND1EWhQzEIAfXCgi+nDYNucEcRKBFMNEdIMyJLYlgLO2VPoUWMJIjjyLkGDqkrFhVLz6RqbfCFI2Uly1PCyoqj0iLLFaF5M+oqXpgyyzcyAWCE7uLQXCtKAFjqh+VenuPR05Q4pFc INAIg17u K+MEboRUc5800J9BiCtMIaBWUJWkYRAhstsJNKTaRzR1CF5Pc0CtgvGOw0MearUA14vdhC/bM6Rvtt+DNeBajcK2vyho+EUTBfB9cHbBGMa/kNOTiY4FDb9KYFiFQC1OPzIqWtOkfdDC3yPOBH6HJlXUsQaMm7AnanQgQhvilXRIoLusykglmfqbNWlcLMxN0qkHUCxBwpBwhDR3cP6JvNlzgRv8KVOA4OKDryZRRYhCRm0IMxXJgj5BSKUF2c4qnukhSt+X6nwQh7MrC9YxYHrsely31WoHMPaPh6x1dSHY394wSDOXGERkpSaYGQCEhedDWqM3I2JooSEZIin7EtU3NiaCbhMqZfUlRDSIXZCO1v+d7G5Vyd15qr2aipyPIxIj0qDj7HU3ZFTyHvRvXCsHD1Ye8K2JAhub5F4/MtTNQYGSiPVjIfvazxJSyGbI+4vv7r/QlwD57AFHVma4C0PNUzhMqR47vMUUP6JYjCTcb+YN9J5l3wUe7RLdImb+AsNkt/GL++5JQRRGBPt6dmjl68W7W+MxlTLRROAlvaHB9R0hsLfGbfcVMNTDOTPEAypXEpWGmTn1OIctNXUoPdHru5aK+m7RWS6W8yEgP0ooWKg+eYe0W3ptYmINIsC3qj9uUGoGy0SlhpSPcKKeWLNO1mbIDK40cvho2uMVaLcyHKN+p2RaBUSDn9JgkmAGThExW4erTl4YXqvG2sjSV9FZDwb4XVDa45CQ1e8T7DiLVw9AL0WVUm0vh0v+ftniEVDryB/zr3yZFFlFpSDFnb9tjo8NcwV7/1fPndqePVXpfThrEC4lJVFiDwPW/dW+GGPWthP79aLm7QbY28gf8F46hthyGgLGJLoGAsiuXyf+hSSqTybCGTRn7PfR/QEcd4ZjhliyIOL+SFxnMZC4KE+ovJf/j4/rfs/oW4qOFguVNHzX3aXmoRW//TF0Os4+13CvdL0Ip4lZYJ3aea77aXnNz3ir3 WQAm4mRn /T9q3mQichyIQkB7bo3h7POPHcn9uvkKOwubgUn91SMGP51eQOu5xf7grF9Hlq0nqAYbQkypihLqI2NFK3CIXRXCsKxOUmxMOg9oXXMrS+YxCDTWg4ewZhDeLVkXoj4DBB3PbaP/g2YVtWtzh1MKf2QM4/DAIeaODYYnZ+3WyvVfDvRkBOWxcHmngGFtNO1bWRqdR+Dwgv3AWxrv7s7Zxg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.254857, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This is introduced for larger folios. If a large folio has subpages present in multiple regions, it will be considered multiple times. This can be when checking access or applying DAMOS schemes. For e.g. in pa_stat, folios split across N regions will be counted N times, giving inaccurate results. Hence, only consider a page for access check/DAMOS scheme only if the head page is part of that region as well. Signed-off-by: Usama Arif --- mm/damon/paddr.c | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 0fb61f6ddb8d..3f59a3fdc391 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -19,6 +19,30 @@ #include "../internal.h" #include "ops-common.h" +/* + * Get an online page for a paddr if it's in the LRU list and if the head page is + * before region_start. Otherwise, returns NULL. + */ +static struct folio *damon_get_folio_in_region(unsigned long addr, unsigned long region_start) +{ + struct page *page = pfn_to_online_page(PHYS_PFN(addr)); + struct folio *folio; + + if (!page) + return NULL; + + folio = page_folio(page); + if (addr - folio_page_idx(folio, page) * PAGE_SIZE < region_start) + return NULL; + if (!folio_test_lru(folio) || !folio_try_get(folio)) + return NULL; + if (unlikely(page_folio(page) != folio || !folio_test_lru(folio))) { + folio_put(folio); + folio = NULL; + } + return folio; +} + static bool damon_folio_mkold_one(struct folio *folio, struct vm_area_struct *vma, unsigned long addr, void *arg) { @@ -58,9 +82,9 @@ static void damon_folio_mkold(struct folio *folio) } -static void damon_pa_mkold(unsigned long paddr) +static void damon_pa_mkold(unsigned long paddr, unsigned long region_start) { - struct folio *folio = damon_get_folio(PHYS_PFN(paddr)); + struct folio *folio = damon_get_folio_in_region(paddr, region_start); if (!folio) return; @@ -73,7 +97,7 @@ static void __damon_pa_prepare_access_check(struct damon_region *r) { r->sampling_addr = damon_rand(r->ar.start, r->ar.end); - damon_pa_mkold(r->sampling_addr); + damon_pa_mkold(r->sampling_addr, r->ar.start); } static void damon_pa_prepare_access_checks(struct damon_ctx *ctx) @@ -148,9 +172,9 @@ static bool damon_folio_young(struct folio *folio) return accessed; } -static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz) +static bool damon_pa_young(unsigned long paddr, unsigned long *folio_sz, unsigned long region_start) { - struct folio *folio = damon_get_folio(PHYS_PFN(paddr)); + struct folio *folio = damon_get_folio_in_region(paddr, region_start); bool accessed; if (!folio) @@ -176,7 +200,7 @@ static void __damon_pa_check_access(struct damon_region *r, return; } - last_accessed = damon_pa_young(r->sampling_addr, &last_folio_sz); + last_accessed = damon_pa_young(r->sampling_addr, &last_folio_sz, r->ar.start); damon_update_region_access_rate(r, last_accessed, attrs); last_addr = r->sampling_addr; @@ -268,7 +292,7 @@ static unsigned long damon_pa_pageout(struct damon_region *r, struct damos *s, addr = r->ar.start; while (addr < r->ar.end) { - struct folio *folio = damon_get_folio(PHYS_PFN(addr)); + struct folio *folio = damon_get_folio_in_region(addr, r->ar.start); if (!folio) { addr += PAGE_SIZE; @@ -307,7 +331,7 @@ static inline unsigned long damon_pa_mark_accessed_or_deactivate( addr = r->ar.start; while (addr < r->ar.end) { - struct folio *folio = damon_get_folio(PHYS_PFN(addr)); + struct folio *folio = damon_get_folio_in_region(addr, r->ar.start); if (!folio) { addr += PAGE_SIZE; @@ -474,7 +498,7 @@ static unsigned long damon_pa_migrate(struct damon_region *r, struct damos *s, addr = r->ar.start; while (addr < r->ar.end) { - struct folio *folio = damon_get_folio(PHYS_PFN(addr)); + struct folio *folio = damon_get_folio_in_region(addr, r->ar.start); if (!folio) { addr += PAGE_SIZE; @@ -518,7 +542,7 @@ static unsigned long damon_pa_stat(struct damon_region *r, struct damos *s, addr = r->ar.start; while (addr < r->ar.end) { - struct folio *folio = damon_get_folio(PHYS_PFN(addr)); + struct folio *folio = damon_get_folio_in_region(addr, r->ar.start); if (!folio) { addr += PAGE_SIZE; From patchwork Mon Feb 3 22:55:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Usama Arif X-Patchwork-Id: 13958385 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 027B2C02193 for ; Mon, 3 Feb 2025 22:56:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B0E776B0089; Mon, 3 Feb 2025 17:56:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9ACB56B008C; Mon, 3 Feb 2025 17:56:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7FE5E6B0092; Mon, 3 Feb 2025 17:56:22 -0500 (EST) 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 535086B0089 for ; Mon, 3 Feb 2025 17:56:22 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 10AB4B0303 for ; Mon, 3 Feb 2025 22:56:22 +0000 (UTC) X-FDA: 83080143804.21.9871D02 Received: from mail-qv1-f53.google.com (mail-qv1-f53.google.com [209.85.219.53]) by imf08.hostedemail.com (Postfix) with ESMTP id 17DDE16000F for ; Mon, 3 Feb 2025 22:56:19 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=X11HxVME; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.53 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738623380; a=rsa-sha256; cv=none; b=wM0YSBeUuHQB09fN/CYttbFLBf4IixZSpdJ8W8zjn1ghuDUNBD6p3XsnoCZtNrXb/RRAEy eNcZAdtGIJAjjCivGkbgHvrslOKxZMzUzg0CyQecgEI6W4wzhkZN3DFkug4KH3xdfc5EEF xLsg9gqUrpozL7gKF3eMHXfsjvbwFfc= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=X11HxVME; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.53 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738623380; 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=SznZScwVx0h8bqXh4qDWiYSeLp6PkS46eqcLFfP1ky4=; b=vko2iPIdSojP/6pc5gs7IrgAziEDFrSV66qaOK7U5a7+AbXuxfy9ISwVBDMnGIS96T321J lUJwZ0UmY7TQrvrR+hYiCJmJHRBlEHJJHOmIqzIHbyV6aWW8YiEzCzzz9qfway4bGNDTlw aPDhq4k1LuHOuPFHRod0S9A//PV280Y= Received: by mail-qv1-f53.google.com with SMTP id 6a1803df08f44-6e1a36b3684so58508846d6.1 for ; Mon, 03 Feb 2025 14:56:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738623379; x=1739228179; darn=kvack.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=SznZScwVx0h8bqXh4qDWiYSeLp6PkS46eqcLFfP1ky4=; b=X11HxVMEMS9WzvAMsnt2ZLWnwC+pUi+tKSZaaibF35jIG0Gbq/s4YKkoFun7bkC1Hw 960ksN/KR82DTv+mHlxdbboZlKozPSg5p0yhL2VSR4khIxbZmuYKlDgvlhlJMHyXUJMR wss9WyEkXlx81QQcP4qgFfgDIuZOdCVB0Fj2aFOKkCcxUakBE6sevnmvTBe19LRgM6Ge QpK38Y3AGelcX8fFnakyYdtIjxZCGQBfu52d4mPnzsLo9keb7UFrh3HKMK4B0PZJIze0 kOgJTpattvjWl+e6NhKef43/WzCFpoUfQNQR5vjMq03HybhEN73PiEw6CG5stSe7sjt3 /whg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738623379; x=1739228179; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SznZScwVx0h8bqXh4qDWiYSeLp6PkS46eqcLFfP1ky4=; b=fnDZd5Yg7TNN/4eTk0qi3PVsqQCJ+MQu1C69eT74VNqAc9ZDxsn1hmxvDzIfghaANy EKttumOgK82Oyt72/0WNswDfhJ/CttolP0EYzvYMCyWwJAFxZ+ypvx5GIq/48kNM1YNU QUSAy0iAeJmJC9VLTpDNsd+gT4xBngFHBL1AbMUycPkGCqmw8cfBz8tv1D/Big3Nn8EW yTbDPuTUI7if+2p5nfpNsjEozS0nCumrNJaOB1/CGMsCYC0YXW1v2ySx7qhW0EtuXSje crLMNbpmPI74412fcpFLQU7BbJrmv46KYf2awLI+fnjbb0HodoPAc2SDMrDUyB1FNA6w Vpmg== X-Forwarded-Encrypted: i=1; AJvYcCXFjwmqIojAtKqtUHd7157XoTpJxeJNea2UQfFeJaWcaZ7KvC44LER/n6Fp6tSQ0pCJCrfN0oGiew==@kvack.org X-Gm-Message-State: AOJu0Yzf8vlf05PwVZaN+NzsHkEUT9PejZ2+HYA0YG14FxSmzb0uDq8y iyNgNbWGe1n2a9/3cZ/MlNZyUzU9xKPdjLb6TUwL4PR0ELNH4AFx X-Gm-Gg: ASbGncumei2onsxm53tvQqFhGM9b/5zaG3JmnPKYTZ5RJ9u7ujEG2zNX2W7wLyoDWcK yOy44VQg+AyTWXjmwu3C6hHO0gDhjeJ0RsqJ6ofmY/PkTpVdD+arOMA5nstFPBQ4tDr4Yu72jx2 tfQ8lY4YNroqTsqYYMEPzce13Z07Kyzf8j9T3mlSKeKMYPHXNf0ab4QCYc/alfzGTecs+8FfBb6 0ZWZAq+chiPhboLrodi5sjtaD374x1iIuz2gmhdlkur9wJJoaqhW7i97juw58L0jsFc37QZUm9e /IEkpoRe24IkFw== X-Google-Smtp-Source: AGHT+IHolYwlmjrVZZLm3U+zwl/FznhpD+yD7VG24ol3h/GVVlqv4G30P3bbLumNQdAfUzhAeEqEsg== X-Received: by 2002:a05:6214:1c86:b0:6d8:850a:4d6a with SMTP id 6a1803df08f44-6e243b90ed5mr303232856d6.1.1738623379118; Mon, 03 Feb 2025 14:56:19 -0800 (PST) Received: from localhost ([2a03:2880:20ff:73::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6e254922857sm55094796d6.87.2025.02.03.14.56.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2025 14:56:17 -0800 (PST) From: Usama Arif To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, hannes@cmpxchg.org, david@redhat.com, kernel-team@meta.com, Usama Arif Subject: [PATCH v4 3/6] mm/damon/sysfs-schemes: add files for setting damos_filter->folio_size Date: Mon, 3 Feb 2025 22:55:30 +0000 Message-ID: <20250203225604.44742-4-usamaarif642@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250203225604.44742-1-usamaarif642@gmail.com> References: <20250203225604.44742-1-usamaarif642@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 17DDE16000F X-Rspamd-Server: rspam10 X-Stat-Signature: 179bztuqeidre4ruo58rrwpbc1k9onjy X-HE-Tag: 1738623379-851591 X-HE-Meta: U2FsdGVkX1/u/9KoJDKNlan3DyD4bC7/QtCP26MUqWnu/73XOdCwy6SDbnMJB23mFTI90+c4si2W2jUckWVemp/pClnrUx3R5YlSuQmhuLLXWvkG1cp9F4GAd9kx/EIf62qO4P08PlfGaFWvoN99lvZLRZcYugOJFnoCwpFw2TneEnLIGPVRbKu3UWcW/b2Gbe186IB8Xi30ZXlUjUB/QTPGzYXTOL6jcvDFhX8C4K1S6hEZ9kj8NJ8WipfCqyipCM3E94wCRSSpGQvaJEqNej3BRESb9Sw74ZEKJw5r/B6WqFzz1W9Ln9j5YIQsd6aQTmRQiAk3vE8xUGocZQK0RTKfnsG8cVnihTxd/aSXDDll3f9h+uKHwDaxPyCELCtn4qDe+M85S565VTWqggk7gtsYbbddtWLSlqyEYsV90Q5nZOZmDEiN+Dbq099w5rRrbiygSTC6ApYlH206pmuiLDLJWmKwVZFf8t/FnRPu+fQmWx/gxb5amUdhOn6C+haPXsKVjMZG2Rk6F5img3o6LaOr3+gJsWjpoJupYr+xbRUdZWeL9JpQD2xu/UjUFmAmS6Q3Wn1NAJ60Y0RYNx1KXgHY/OMk8YgY+my4KoYD4I2YR/DvgmdDoLe4YsqXzd6tpt+nFyLXvT3M18L6aJonKJWc0EvaeGCVQtA/Ib8K757o//Hnpxyl5ziWsUGKP+khSPLk5GqGQKYGvMmSexPwZetLWxazXT3u7n58pZCU58BsHP2IBQq6C+CuPoQlGtWPcKcTL+iwwgZcMLuKyeSzKeCTwPGvngzFBJWMYpxJefHJtpOVT4TVkwy3CLz5NBufqHT/aQ72Fi3EufTBRsTZGTU6cH3Uoxl2z5ZVjSV8WMHzyT4v+cnG12SvvFGhllHVi0FkiE1kx4FstQ4YbKuoXyPiHetHaMErJaJLMvqiN9BCFR7BPRzIQgDPhUfgvvM287x08zYb0uEy/Mmde5T ht3UfoVs 4nNz8NcUWxy8t5t5xbdM40VSRqKn0+H8wo2v3PSa8LoDuE3jlfoS7BOnPkTZ0va53KTBUqWceOByX4anpUEB3k+Jo0+JKULxOkXnLH6piMqUnOSmURZwG4OVHijAq6h6f/gYXIr8ud4P73414dKloxqwTmDFK4EtcIjwYH0B6SxyKfmekn/nt3qYdF3jKWjTwui37z4edxQOsfapStkZ7/cHjXEYUydEAOlJjD5PKXvDx0DgnRHsQFcVFr//pCQrQO4U0UWKGQ92i10Op7xq9FyS9YHZhz3YkQzDp+EyG0g9ZLUZMYAOLYVhWTt9htlFRaY2KKxh5qJbLW9hVYiombeosiHRcF5tfXGhcy7PVAZ4M9jWypVKkaQMa7qBYKry9e3WAjGlCI5vEo5yvz//Ld+QRgxUyeQANr2DJJIJii6n/ZjEf7bL0RnJ20Zp2KU1NBQmThZ2YlJgRnHZc+AEpig8O9rnY3kKXoMZ5tlVjaUo+JcD73AYDOx3boZEiNaxML/Lp55qSuAaz6HHweiILpgRz2wTVkZOVl9VAvRRE2YifKeUl1D81Qu2kIj1ZHEIjQi8VcEZAwfjZtWpq3ULNdcgLXaDIHP7ugZunYwoe5zz9iBZMC0GTGZCHvNvvangja2Yr1zIHoUW/wdj+tgk0PXEIFamFMD2Vx6b55+TKey5uqGnJLHajLvgfCZxGBBZkEMKox69peBBksOB7MipI+LfrreXMLJbP2AVzKbvMRMonHpCazMD8YnZAfyWmUAy4CyuJwymxrySRSQ8zgoxX7JTaWYIxwknC8oXSHdYR2h2upQuDgXDCJqonDTlFg3B/e9+rzdTMc1eFnP1CYwd4oLF9fJKuglQUsJGeZsKJkTKk2u0go27rU+HgZOti3bN066wL4Wlqs9LS1EKKB++V/1XHzPlVuzePzTcyHQfp805oUcvY8xxauLvuLjzn1BWuqXk3gPcSxvBg5MPbM/cmjC1Q11rE anjl7i1N As9DORJWJAbDQXeGtQUn8PkrO4s2YRXToYDzEzshhvJIEV4zgV3H886K7muncqQsZuiL1A3ONEqwIDfZKrjtvU1uH6ekZZWhEIw2ZY44WgM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.001214, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Add min and max files for damon filters to let the userspace decide the min/max folio size to operate on. This will be needed to decide what folio sizes to give pa_stat for. Signed-off-by: Usama Arif --- include/linux/damon.h | 11 +++++++++ mm/damon/core.c | 3 +++ mm/damon/sysfs-schemes.c | 53 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) diff --git a/include/linux/damon.h b/include/linux/damon.h index af525252b853..6f30ceeff215 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -35,6 +35,16 @@ struct damon_addr_range { unsigned long end; }; +/** + * struct damon_folio_size - Represents size of folio filter on [@min, @max]. + * @min: Min size of the folio (inclusive). + * @max: Max size of the folio (inclusive). + */ +struct damon_folio_size { + unsigned long min; + unsigned long max; +}; + /** * struct damon_region - Represents a monitoring target region. * @ar: The address range of the region. @@ -377,6 +387,7 @@ struct damos_filter { struct damon_addr_range addr_range; int target_idx; }; + struct damon_folio_size folio_size; struct list_head list; }; diff --git a/mm/damon/core.c b/mm/damon/core.c index c7b981308862..27323e3a800d 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -776,6 +776,9 @@ static void damos_commit_filter_arg( case DAMOS_FILTER_TYPE_TARGET: dst->target_idx = src->target_idx; break; + case DAMOS_FILTER_TYPE_HUGEPAGE: + dst->folio_size = src->folio_size; + break; default: break; } diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index 98f93ae9f59e..bc7ca43ca9c4 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -316,6 +316,7 @@ struct damon_sysfs_scheme_filter { bool allow; char *memcg_path; struct damon_addr_range addr_range; + struct damon_folio_size folio_size; int target_idx; }; @@ -469,6 +470,43 @@ static ssize_t addr_end_store(struct kobject *kobj, struct damon_sysfs_scheme_filter *filter = container_of(kobj, struct damon_sysfs_scheme_filter, kobj); int err = kstrtoul(buf, 0, &filter->addr_range.end); + return err ? err : count; +} + +static ssize_t min_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + struct damon_sysfs_scheme_filter *filter = container_of(kobj, + struct damon_sysfs_scheme_filter, kobj); + + return sysfs_emit(buf, "%lu\n", filter->folio_size.min); +} + +static ssize_t min_store(struct kobject *kobj, + struct kobj_attribute *attr, const char *buf, size_t count) +{ + struct damon_sysfs_scheme_filter *filter = container_of(kobj, + struct damon_sysfs_scheme_filter, kobj); + int err = kstrtoul(buf, 0, &filter->folio_size.min); + + return err ? err : count; +} + +static ssize_t max_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + struct damon_sysfs_scheme_filter *filter = container_of(kobj, + struct damon_sysfs_scheme_filter, kobj); + + return sysfs_emit(buf, "%lu\n", filter->folio_size.max); +} + +static ssize_t max_store(struct kobject *kobj, + struct kobj_attribute *attr, const char *buf, size_t count) +{ + struct damon_sysfs_scheme_filter *filter = container_of(kobj, + struct damon_sysfs_scheme_filter, kobj); + int err = kstrtoul(buf, 0, &filter->folio_size.max); return err ? err : count; } @@ -519,6 +557,12 @@ static struct kobj_attribute damon_sysfs_scheme_filter_addr_start_attr = static struct kobj_attribute damon_sysfs_scheme_filter_addr_end_attr = __ATTR_RW_MODE(addr_end, 0600); +static struct kobj_attribute damon_sysfs_scheme_filter_min_attr = + __ATTR_RW_MODE(min, 0600); + +static struct kobj_attribute damon_sysfs_scheme_filter_max_attr = + __ATTR_RW_MODE(max, 0600); + static struct kobj_attribute damon_sysfs_scheme_filter_damon_target_idx_attr = __ATTR_RW_MODE(damon_target_idx, 0600); @@ -529,6 +573,8 @@ static struct attribute *damon_sysfs_scheme_filter_attrs[] = { &damon_sysfs_scheme_filter_memcg_path_attr.attr, &damon_sysfs_scheme_filter_addr_start_attr.attr, &damon_sysfs_scheme_filter_addr_end_attr.attr, + &damon_sysfs_scheme_filter_min_attr.attr, + &damon_sysfs_scheme_filter_max_attr.attr, &damon_sysfs_scheme_filter_damon_target_idx_attr.attr, NULL, }; @@ -1953,6 +1999,13 @@ static int damon_sysfs_add_scheme_filters(struct damos *scheme, filter->addr_range = sysfs_filter->addr_range; } else if (filter->type == DAMOS_FILTER_TYPE_TARGET) { filter->target_idx = sysfs_filter->target_idx; + } else if (filter->type == DAMOS_FILTER_TYPE_HUGEPAGE) { + if (sysfs_filter->folio_size.min > + sysfs_filter->folio_size.max) { + damos_destroy_filter(filter); + return -EINVAL; + } + filter->folio_size = sysfs_filter->folio_size; } damos_add_filter(scheme, filter); From patchwork Mon Feb 3 22:55:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Usama Arif X-Patchwork-Id: 13958386 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 5A8DEC02194 for ; Mon, 3 Feb 2025 22:56:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E00B6B008C; Mon, 3 Feb 2025 17:56:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 38F7E6B0092; Mon, 3 Feb 2025 17:56:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 148056B0093; Mon, 3 Feb 2025 17:56:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E7C506B008C for ; Mon, 3 Feb 2025 17:56:23 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A1BD5140410 for ; Mon, 3 Feb 2025 22:56:23 +0000 (UTC) X-FDA: 83080143846.24.83709B9 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) by imf10.hostedemail.com (Postfix) with ESMTP id CBE34C000D for ; Mon, 3 Feb 2025 22:56:21 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="D2EM/Pt0"; spf=pass (imf10.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.222.173 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738623381; 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=bZr3JU4IzgMkzaYCXnAAdzMCXxOR4d7z95TUJqJCBA8=; b=uyj58yMswyaXBXTPCo1FoRZ98ZNPXTkcfM9lvDJlXPxvGa1hr7f9TmxRyKnpcgYbUWxD4/ 1QYOnwxKHH1T5HQloZqoBc4fHSBRvZOWIa5q40Uxb7aCLNO5FbqLlfAlXQL1frEqqZfYEO Ou6cK2+c0SdA4VPsP6xQcJpfXMyQp18= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="D2EM/Pt0"; spf=pass (imf10.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.222.173 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738623381; a=rsa-sha256; cv=none; b=7VGY2bkj9NiAHGwIpVj2Np5EGYYUlAdnapsuKux2I7rF/4VqmQuOHW+Y+nm1p0Rzz7zXxD G1pYbsMdaXK/uBlMsy2ihEsXHMDkuT/YnqIH087T2MGCx1V2EYe8Fn9ZV80GaObkeI9noE 3OonhXSzhpybnJM3oePzquy1/QQRptk= Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-7b6eeff1fdfso455018985a.2 for ; Mon, 03 Feb 2025 14:56:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738623381; x=1739228181; darn=kvack.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=bZr3JU4IzgMkzaYCXnAAdzMCXxOR4d7z95TUJqJCBA8=; b=D2EM/Pt0/+1R5460Nkep15R0rXkqzOQ/uocjFEpeRhiBPh4ckINSVFAmji3Wk1wW9F PiRYwvvEeYgBGsQUoU61I80UbSEZU4BMnQYb6gVWXQrLY4lt8DwrhJHEsFOd6oN+3kXV wiZWyvRm/xpmzM9CcUJliEfO+Rn48py55qku/acG8QK+NIVE+w0I9r7BLKQzQi92CV84 HCU7RNDzwUjVGxejKmsfuV0VmpSlDImdDYwJSfDCFjlZFVk/CKp49jF9LaxxY2TV5yp4 Y09HAvEzaBL9em0833JbcBubU9QhBD08qSAGDvW5neSI3WpAuhTMKjgtTElSi2lRBXv7 udaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738623381; x=1739228181; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bZr3JU4IzgMkzaYCXnAAdzMCXxOR4d7z95TUJqJCBA8=; b=MjipH7RB2fdGKuOJPw5YZ+cUIkrnp2knBr7ASg0HL+bFZFrkA6y+cSPKQ61nMXLabu Yc3I4maqxJQanNM69CW5UuAezpfJkPtitHhHJVm83cJOStAxDuUVbEqRgmXKxWeQYCWV fzXHM0qlmni62eWoCnet5BeGFaUMYzIdaxVotR6uK8s/4Ywpceg63V3Z77zzwRe4huD1 z8+C26X0ptBUOSDjbEObuYGiYXr+H59TgRYa7mWqfYrEMZyRAbcof4czhhXU9oZu9etZ 0nk5Rd7M47E1AI3BlS7/ott0/HdmPb1CEUdU2gFSN5WoRoGsc16oF3nGdGNBLptaNB+L /9Vw== X-Forwarded-Encrypted: i=1; AJvYcCUs80Jjef9C8gHU1ioYYLsHIUe+MijauKHmXYYG/XCSpG19cCLYsVDwCxwzgyQ0eLKIaKec5E5SFQ==@kvack.org X-Gm-Message-State: AOJu0Yz0YMJSfBAtMSKuwg7Xr6XhSWdHjAC/vG7gx5Q5Rr32eoTF3NfG +C/ZBC9w2fQiObmdVqdlijrNU2BLcgGJJQc+g8GU3O35mI3OKes/ X-Gm-Gg: ASbGnctPegCVsJ+/GtHCTq5y3rhyLKhLDLhhkeWXvGycuj4pG/nkYZypLzWZqWJjhpq GjYLGL/AQvhdmSUQgGZVlbynS3sQvzlRH/avLrndjpbJFahgFpmA3umRt5aw/DdTPH+I0xo+nCf FhLtEeaq4w+wRu/5F0+ou4bk3TAujR7eLvZ+XBMpfaslUVFHtNn6oPiEMqGjggcZziXD25b7xTY UPf2rmkoC1dD0pcJ6yHp+m9RxEWRLawQQnDIzobGTcgRd756v5fFsXAMoPYLfM59tYyRxjFamSA vYg2cZW5oMAfHw== X-Google-Smtp-Source: AGHT+IFgwn45RHOswiTHACnY/GDGR+0xCj3o/m7mcVU1ENbjUzG07lEUnTfMgUp3v53B9gcqZUg33A== X-Received: by 2002:a05:620a:2b4d:b0:7b6:cedf:1b48 with SMTP id af79cd13be357-7bffccc4b73mr3247916785a.3.1738623381017; Mon, 03 Feb 2025 14:56:21 -0800 (PST) Received: from localhost ([2a03:2880:20ff:74::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c00a8bb9c3sm577777285a.17.2025.02.03.14.56.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2025 14:56:20 -0800 (PST) From: Usama Arif To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, hannes@cmpxchg.org, david@redhat.com, kernel-team@meta.com, Usama Arif Subject: [PATCH v4 4/6] mm/damon: introduce DAMOS filter type hugepage Date: Mon, 3 Feb 2025 22:55:31 +0000 Message-ID: <20250203225604.44742-5-usamaarif642@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250203225604.44742-1-usamaarif642@gmail.com> References: <20250203225604.44742-1-usamaarif642@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: CBE34C000D X-Stat-Signature: 1qrw179yoft4rkcw1cdph8xrg71a513y X-Rspam-User: X-HE-Tag: 1738623381-613976 X-HE-Meta: U2FsdGVkX1/H1bYftZ0DSv1KiCk98NCqQx/cX62DIv+adOSPTm+2Ed20EsV8eWXvPSlHuDnNj/X2+v9lwOgrT0RpFSKPpy59IOl5PyU2HxBX68mKXAbq3Jvu4zaRSPsy8Y8RhuE44GvETOrJ4oaHt6iCxU6/VB17qzfMAXqMI6LetouMazuLhkHg1P0qKESzriajEROD8Czh42j9NCwrNhWTGFphsgNukYkZsBjOm0ezmgqgcpH6JF2B1M0u4vEKMjmj0MeK3EfiZDoSSRDPUoElQYPad+rK9n8AezrhNcJpePRu9ryz7cYF+c/+IbDZZ4vdnIdpe2RHh6J0HFQBSmDDZulz7aFslAeR/01cXe68yOB0+OOaWIEoySZoDQP9jruyqw/uhZUvCClUETO19hnsLYHC2Xmfbx2U8NIJGShGWDXIKKz9NYZiWFWVSRVuFFQgNgyYO9u/TKvM+xbWdhWOM4YWa8p7oTzh4Z2CBRgav4PdR4QwQQL/eOv3awo1NAObMvN2tPN3PCzsuYsGrs4eAjCFAGL4LhOcWsea0I9Z1w8992mnydsOXqH+goZLzBy6/TAIufPajWDhtl5EPe8KaAxNq3E2pYj445jnWdHv8kfnMpmnmutMObiUgNh5Xjszhb58d+DDTb6tcBBIV7AdY9oipz15utsSWszoSczKPN/wxEorKk/KW/eJsLo9kRgmax8GlJtaw+yS0cqXyo0q5Qf4ttrhQz23DZZzQK5LibExfnBVNg9tMdw8/PR79rbIzePPH9T03nndJnbx72LyUEA256WdGotrfQrp2zKUVfTW2p0iWD2CETeAYMRvx340JNvYR+/tiDvmZQwmQsb11igUD5viJZvHC/IkRrLCX26XpUSmL/rmSDxlL68ufDgen3uDYjoIgAu+ugCYQEk6QbACkKZ8Fdzruf3yjdopitj8kHp6OyasuAH4rVVexlWnAJXEEbJSxxt48aw Vts205yF 1u0Mo3OI0nKlBAAmuNqHqewyOr8FCUJkeykyFkeK7IuvOMZ/yU0c0xgS9k7UqaXhZz7CeljhFOprbMqSSDifeTwpqhIZvkOAJCoM12Hf6nSlKexA8i/oGhEwdeVph5VOKs22fu1SxOo+0xWQYH2sLT1GszLG5gLvA+mMJaw4HSU5EVSQlBPAcnwU/JN00THTqtqxPgQwmltNtEql3jO8m+S7wmL/y5l+KjOfMXtJD0AKDxmUzhd1dKJEzjUc5WWqfNGQMnM/4U5V98GYdrjyN7G0Nk9oRkUOwh96QRfqpPSk3WtNfepaelVG59a4ixo8qnGLHLmNygA6x8JzAFvXi4xl3AgfoCLLBjDPa69XqGqB4C2Xr22D+ZcNnpvVTlVoIPDtf5KkcUGyp4zcW+kWWb/FtkVh39zFcM1UaV3V/97ecdCESajFXKoUH/IyogjXu+EP5aL1gOiQq0uN08mrdjYXsVto415wnWDPnem/NLyEv2rw4Mib5jqL3VUk5561hLiYoiNWT8JVTe0OIPUcPEvXghz4pD4Ogf8zjbkyw8ZKsRMMylnBaXwClShUBNNhOIHiE2LGKdoU8W9x95w+FViWHq0yMvDHHt8PIH/V47cCgM47uXwlP+mjU6DDbQk27c17GEVvCKn7+w0C5YEpQN+188mBnRpE19g1mUzUfSy/i87Sl5n0deZNg+144C7c29y9VI0yVKeWTr5TsUSY3Gx/H/PtVulgaLFJUQuhH71hKwpgxsaB1yjbP7JZJu0hmEh3Np/3IQfP825Lho2jXirEPDgjWlG6beQpysy8z2ifVOQ/mrd/TZxvb6Cp9aYYktBBlxX6E/PI0t+bmlTiP+SxtiwuOGBun3dWcToRZhf+ohPGuDm5qCq82vlFY1EAh5OPSCGcma2S58tEYrhIu6Mrg/TA/rx7ZJAtt3AJrSDKIBFq5TWkGfnxhyd8gUBqS9s16NZtOWo+MLavgKRKXSbao6yND sTX/c9Lk JlkL2vsHnAmyRjScEc3bjypgw5a+0CZve2aXblUIMnaBVY2prbgC3g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.007023, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This is to gather statistics to check if memory regions of specific access tempratures are backed by hugepages of a size in a specific range This filter can help to observe and prove the effectivenes of different schemes for shrinking/collapsing hugepages. Signed-off-by: Usama Arif --- include/linux/damon.h | 2 ++ mm/damon/paddr.c | 7 +++++++ mm/damon/sysfs-schemes.c | 1 + 3 files changed, 10 insertions(+) diff --git a/include/linux/damon.h b/include/linux/damon.h index 6f30ceeff215..5ba6c2114e3f 100644 --- a/include/linux/damon.h +++ b/include/linux/damon.h @@ -336,6 +336,7 @@ struct damos_stat { * @DAMOS_FILTER_TYPE_ANON: Anonymous pages. * @DAMOS_FILTER_TYPE_MEMCG: Specific memcg's pages. * @DAMOS_FILTER_TYPE_YOUNG: Recently accessed pages. + * @DAMOS_FILTER_TYPE_HUGEPAGE: Page is part of a hugepage. * @DAMOS_FILTER_TYPE_ADDR: Address range. * @DAMOS_FILTER_TYPE_TARGET: Data Access Monitoring target. * @NR_DAMOS_FILTER_TYPES: Number of filter types. @@ -355,6 +356,7 @@ enum damos_filter_type { DAMOS_FILTER_TYPE_ANON, DAMOS_FILTER_TYPE_MEMCG, DAMOS_FILTER_TYPE_YOUNG, + DAMOS_FILTER_TYPE_HUGEPAGE, DAMOS_FILTER_TYPE_ADDR, DAMOS_FILTER_TYPE_TARGET, NR_DAMOS_FILTER_TYPES, diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 3f59a3fdc391..34fe1eb664cc 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -227,6 +227,7 @@ static bool damos_pa_filter_match(struct damos_filter *filter, { bool matched = false; struct mem_cgroup *memcg; + size_t folio_sz; switch (filter->type) { case DAMOS_FILTER_TYPE_ANON: @@ -246,6 +247,12 @@ static bool damos_pa_filter_match(struct damos_filter *filter, if (matched) damon_folio_mkold(folio); break; +#if defined(CONFIG_PGTABLE_HAS_HUGE_LEAVES) + case DAMOS_FILTER_TYPE_HUGEPAGE: + folio_sz = folio_size(folio); + matched = filter->folio_size.min <= folio_sz && folio_sz <= filter->folio_size.max; + break; +#endif default: break; } diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index bc7ca43ca9c4..76aee3ab277e 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -330,6 +330,7 @@ static const char * const damon_sysfs_scheme_filter_type_strs[] = { "anon", "memcg", "young", + "hugepage", "addr", "target", }; From patchwork Mon Feb 3 22:55:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Usama Arif X-Patchwork-Id: 13958387 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 BC280C02192 for ; Mon, 3 Feb 2025 22:56:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4320D6B0093; Mon, 3 Feb 2025 17:56:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 392E26B0095; Mon, 3 Feb 2025 17:56:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 122F86B0096; Mon, 3 Feb 2025 17:56:26 -0500 (EST) 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 D11236B0093 for ; Mon, 3 Feb 2025 17:56:26 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 55BFC8053F for ; Mon, 3 Feb 2025 22:56:26 +0000 (UTC) X-FDA: 83080143972.22.FDE4FA4 Received: from mail-qv1-f52.google.com (mail-qv1-f52.google.com [209.85.219.52]) by imf25.hostedemail.com (Postfix) with ESMTP id 74778A0004 for ; Mon, 3 Feb 2025 22:56:24 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="K8Xn/mhl"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.52 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738623384; a=rsa-sha256; cv=none; b=GeI5X7Hjr54EtDuXMzGIpM+Uy6OJiSK88QfREwoWObc3t523YdgkuWISg5kAlo7bgK+tKe v+Amq8KuwPJA4nwyqMf3518Gf9IBEDr4Fh/me08AkueORpIy2sQwsrNDymCUNPUk68ircY /aLB8Eboj2u72HnaPiXQgjYhGZ7bW84= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="K8Xn/mhl"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.52 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738623384; 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=e2enSL3C/soI5+mxHJevUzCK3eKf+SVmFvEq416WsAY=; b=iESZcHNeo2nWvKkPOZ8ykpnHuR24wXIhv0LKNOBj32K/1/hhi5LMeUXN3Q4VGLWUlRyujz JVQuwqXaNunFHtzebGjr1PjtV3ab6aUFYfjb0jJTlWmL78ud0vtgfU4YG5vMeThM73xyPr D/ZV0uj9iEICfBWYuuKYh965brp2ZUM= Received: by mail-qv1-f52.google.com with SMTP id 6a1803df08f44-6e41e18137bso8143906d6.1 for ; Mon, 03 Feb 2025 14:56:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738623383; x=1739228183; darn=kvack.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=e2enSL3C/soI5+mxHJevUzCK3eKf+SVmFvEq416WsAY=; b=K8Xn/mhlOK7c8yFpNck727VDM4xTmqUU664gdbIXFi0Ql4OPNDqJcTXUFgXy+qpLOV XP1Lt+jmlDxFDDqqG/7mYspyp+5M+zZVs7ImKL8M3roTYoTyUnp7iEG1MvVpPiymFRNZ DbTegIjYKBOTzJg8kPiPjtAGWj8rShqblkXfxwS4s+CL52bVfoHEbeDh1quTUUY+Slph 8LjPNH44vszCzz0qVsoZtST60xF0uD4SkdkFRRT2+K0WtWYEAFmDhCx1yDPuAh32BfDR 9qAE4C2tkqzAa/dA/Lmaefl1zLx687qCK3di9y74GoSl4t3IY3LL0k0/IlLs+uMqmWRe WQXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738623383; x=1739228183; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e2enSL3C/soI5+mxHJevUzCK3eKf+SVmFvEq416WsAY=; b=Ll47mc+I6wnA0e03M9Iu3q1+ag43MKjkfdcEaOgNz5HvGlbOjUMludiZAllFoMLbOG MVLnMut36ZQmuPqmwDUxOgvhu6MUK17Rl1TmetVg5Y/5IomrGj9yek0s7zE5Id027lqR 1p19JeadckO/i3pMH5Ktgas9gyLOkJmzySAq9RBCthb+jurKcxyYIx8Pj0iAD2RY4xU+ TrPoy20LU3O7u15ppx46CZTcOdq2fw/jl4COoF4p8ST3B2Fs+DXs6Sh+vY3YLtrDdWso /hu64P8+3lM9CXyQijycVN7xhvrBjkA0yCzSFQc1loaJKUEDxhiWBVBUrNFCr1P1x/1o KJkA== X-Forwarded-Encrypted: i=1; AJvYcCXqSwo1GtFy4rPAR9oi50aHck0Kc7KU0c9oA7+Um139xmoRaoYjuEnqUlww8zaA4KqrBmlSc64QSg==@kvack.org X-Gm-Message-State: AOJu0YwzHJdpkQuaF7F4hl/5IH1uejdBwm2V3q2pXLr4FxHrQrqVzcO8 37Sc+0Kf9PTnOoAI6XN1z0XyM5lTII/nur5qRhc43AJTo8Vg8m2Y X-Gm-Gg: ASbGncs1kpMAzRHqgkXGqxKSprPKwiR//LCsLQKaVU5RlS4AnyGZwZpOfOjg3+3RyNh +C+aO/Amm//N/TRnLhyIYjdeXTBGjo0KffuR5gTge/YCkLfUe4U0RjbWi8PHCZktalqdYhLiLWw fASgiY+hziphMTEy2EkF0fMC+jAIgrFU3Y6IjMrBDTb8mF32tEaCv4f39/T3DibWlaht8WTiAEN OKq2c4KZ9q3/RZnVdx2TJ0wNEzUjyXPrwAXgSzk3qyHqhLAnhv5sVwtNd1Blt/4RDHOnjlmzIJg 5sX7Wk8PIX3B X-Google-Smtp-Source: AGHT+IEK74qRw53aqOQPEz3F2ZyQP/xCGiDZZ/sr+Au0v3csysI3ea4/+VxPaAXJWM4NpzHFVT6edA== X-Received: by 2002:a05:6214:5d87:b0:6d8:a5da:3aba with SMTP id 6a1803df08f44-6e243c3b07amr339051006d6.20.1738623383619; Mon, 03 Feb 2025 14:56:23 -0800 (PST) Received: from localhost ([2a03:2880:20ff:2::]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-46ff30fc6fesm38009861cf.27.2025.02.03.14.56.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2025 14:56:22 -0800 (PST) From: Usama Arif To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, hannes@cmpxchg.org, david@redhat.com, kernel-team@meta.com, Usama Arif Subject: [PATCH v4 5/6] Docs/ABI/damon: document DAMOS sysfs files to set the min/max folio_size Date: Mon, 3 Feb 2025 22:55:32 +0000 Message-ID: <20250203225604.44742-6-usamaarif642@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250203225604.44742-1-usamaarif642@gmail.com> References: <20250203225604.44742-1-usamaarif642@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 74778A0004 X-Stat-Signature: 9174mnqczbjdfrisfe4kxz99hib58r97 X-HE-Tag: 1738623384-591155 X-HE-Meta: U2FsdGVkX19Lw0P9e6bgO9OfJgcHYERTgVwJpP4MEmfLDXG7qqEkNr1YjXnGs+oXkU2asGgUhagJ8kJ8OcUPph6MDRjDYKuFAq1u1PjKlQHB1C3p+vwaJafeQH2BcdSv8x1GjHMocR9kjGOolknW79LPGQvNcowrlXjgh2m498e7/K99zjsy95r1At5dA4Hr7Np2Ds6hFHAgen3SRlfab5RhR6Vd7BiW+Fp20EUuURr0EwWu5iXb8o/RZsHs8FaFZzSkzkB9AQvCzCRZeCLA5zsCcxTfQGYX0rIFGd07V/AoViEzEJ8YwrE3C7zwX007GxXjik2HMcjE9fbrQyqdWa32Uulrlg99bcM99xiBZUdxHUbNnDBNv7JfICCfKSKMrAjksHwbAv/nSnoaQKuXFMm8Xu6LYGrghCJQNBR5v4LL2R5jPo7AEjiPIMkYfq41nMTDX3Hs3oQatk4FGmRzhdGMy6V52cLIKxjZxQXyHGK9oViSDbxkzjQpj0h4jcTC6U8Z1xlYAdrlkhbhqRcdeAUpDveNqYqHAT9bJLfn612x7dUoppZWmVaUqj1VWdU8Ai2cHmxX8PdbWg8E7Yj4Si2F1mmv4YTuwNGLd/Lo9CLlTTLB5JTODh9iZfkEhXQOG0XnPlm8kAs0bs6yWKepyFhyLM5Oq3UZXdEFwamF54HTHdsH3siTSDQBV2vzlB47H4AZ3c0rUwEKvJ8gXscl6cYxd5FM5YZhMt6m7YJ2PstR6Wv76Kk0eXTSobjcEI8qqKx9e3ARayw/EcLy46a0TQ5BDYcaraD8KfItbaWSUcs4FwsnVPklPI/mW+mqjzdbFghz91zlRMBvyA34jNWi1u42kDut02i96z8SBjltZR8HljM5Hl3I5gsfeRI0H+CsDJc/eFzVJ+zCMw9epBfoh22TuHGYhDUPN2IffqY31wSA1STmT2tQO7pMzQ7zJoXG/z22eLs8EyrvYScj04E KpCCMfif Hp44B2/DwvwKzlRebNRM2Zi07GqmV5jjr8ZL2wS7hyNxrLeTgudeSZm3RLuMAdmRyo7u+Q6KgQXMbYUHM7QnYsZuE6UrDAjr/2reS0Xu1xW1X1wdE0E+yQuGtVeYewXuf6hsjTivDPVGK1EogkyMjqsExC3VPa8IzWYzavOjezbPHoI31TqPjTQPD/sZgicEKbE3wYKr1s00YTe0rxlZUZRYl2mElXgjP47awKbtxSAPfFToc3rJDP/2h8NTclluoJDqNA55Yh+Z3nL08IiXp0mXrMuqrBsM76p14hS+wzZ3XsiX1cFCSWkadIBr3DJFiM6r7t3UmmG2Rh3bE9sGN9u98TRNa9OSLpflFogsy0TpoQHPRJrWxzqCuUBeFYnw0CDOVF9hDjRIrDbMjyls4zroBG8mve86b9b4Zarv6MtD5LmnEAY8WVw/gY+/jmuosgM6kUs0Qb14WOAnF1YNN3c3BinIgG6zOU526DDchqcwJwRYNJTRQ0uwabTndZ7a6xwOXDrdUHVXKx5Coy7YwP2/IJJlhGABP8fh82tXDF+iTZvs0ih6x/pP/Mdy6y2MYi4v78vLSE0DAbrPNlCu2hVer5cpRrnTJBVI7 X-Bogosity: Ham, tests=bogofilter, spamicity=0.150686, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This will be used to decide the min and max folio size to operate on for pa_stat. Signed-off-by: Usama Arif Reviewed-by: SeongJae Park --- Documentation/ABI/testing/sysfs-kernel-mm-damon | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon index b057eddefbfc..07daaae3dd16 100644 --- a/Documentation/ABI/testing/sysfs-kernel-mm-damon +++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon @@ -345,6 +345,18 @@ Description: If 'addr' is written to the 'type' file, writing to or reading from this file sets or gets the end address of the address range for the filter. +What: /sys/kernel/mm/damon/admin/kdamonds//contexts//schemes//filters//min +Date: Jan 2025 +Contact: SeongJae Park +Description: If 'hugepage' is written to the 'type' file, writing to or reading + from this file sets or gets the minimum size of the hugepage for the filter. + +What: /sys/kernel/mm/damon/admin/kdamonds//contexts//schemes//filters//max +Date: Jan 2025 +Contact: SeongJae Park +Description: If 'hugepage' is written to the 'type' file, writing to or reading + from this file sets or gets the maximum size of the hugepage for the filter. + What: /sys/kernel/mm/damon/admin/kdamonds//contexts//schemes//filters//target_idx Date: Dec 2022 Contact: SeongJae Park From patchwork Mon Feb 3 22:55:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Usama Arif X-Patchwork-Id: 13958388 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 1AA47C02193 for ; Mon, 3 Feb 2025 22:56:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 396C76B0096; Mon, 3 Feb 2025 17:56:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 31BF96B0098; Mon, 3 Feb 2025 17:56:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 148B66B0099; Mon, 3 Feb 2025 17:56:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DE6626B0096 for ; Mon, 3 Feb 2025 17:56:27 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8A784160584 for ; Mon, 3 Feb 2025 22:56:27 +0000 (UTC) X-FDA: 83080144014.22.7A8826B Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) by imf23.hostedemail.com (Postfix) with ESMTP id A888614000A for ; Mon, 3 Feb 2025 22:56:25 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jnp3PKuI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.41 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738623385; a=rsa-sha256; cv=none; b=C5dYVEenswe9sFtgtMq+od0W3u8Bi6pRAzQzdCY7mE0JrCCvFzjfduh/+64RUa0WmxDMi1 ktSaCggPvDuHLd8TY1sVussln0hqpJs/DAYOALuyNj0qsbolalaHMlddA1CHgYO0Mi3YYD tjHfsOe/kkn71pOyJz1wzd3ut4afoJI= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jnp3PKuI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.219.41 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738623385; 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=42HHIMqh2iJaWiyZ3I2a3Q2yrqc7Y9pAkTTacWWAGL8=; b=gqnnchLJibZLfdIOFh3E6wDrvuKspfu4Nzf3RThYXpIiTyunWmkVKlTEUPA4yowAloMfGB N/TTdQoMuGWdGoCRTEDy1Ho8M8ut59HisjtAhQMyWt4aXrj3YW61vxWljW5VEjqeto5Pep wOJBZeYqQ0cD0z9J2+cDFhN2QPi7JDQ= Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-6dd01781b56so52760236d6.0 for ; Mon, 03 Feb 2025 14:56:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738623385; x=1739228185; darn=kvack.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=42HHIMqh2iJaWiyZ3I2a3Q2yrqc7Y9pAkTTacWWAGL8=; b=jnp3PKuIS8vlmH7H13Ui5xWabygjXeBU9G6089ywyZjSK4T6me0Rlhl6Najhwi1jFA GjhkffSZnzIJrZZZg+f/olRBLZJKl7R6VgUhx2mIdjIx8ZjjX61h8X2h6QI7J4oQaUzp GEXXSlHm54iEf2oysTJn9unbXHmLWxUR8kB3HU3nqtKrM46QDj7zl5oNEsRhp19aM2lG JYZn0RQvH0gIbsS42D64QMKjLEG6oyUYkXltbwG4V85Z3GusxLfnjesb3AE/Pp98phvk YT75W8HWoqoWvhv3tDeaXWe2bJ9FRgrOyvepmav1yDEOLdnykxuaISCWVK9tB4hXDfYS kmFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738623385; x=1739228185; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=42HHIMqh2iJaWiyZ3I2a3Q2yrqc7Y9pAkTTacWWAGL8=; b=gjPstdU8BhktFHFwP+6eOkGGuNYRQdCmYs8AD+B6S3g0kxv0e6D2l3gHSPQFd++1b0 EgvMXa3Dfq34yP/Fyq2UV5X4HzJZ+4GWOXoIsTlRNLabvvaUKj7/hk7fojUyOjUjkZz+ i9pkJl5D1dUxYLmjH/l3bMD9SCU4TRpLcjFhyeMubLlq8MChD+e+dtHirb7lLIqd2lxr wyH4Ibfs1Zd7O+sVdmUOBTavJHtrjpENRfX/NQOPGrmJYZZDJ1lr7vD6ceIyc/PRiZ7s gJ/ZfzuedwNNmLekp1yRMyZi/Ux/c9z6jcW3LqGEJWBFCo1LNAS67tuPewMUg34pK38R rGgQ== X-Forwarded-Encrypted: i=1; AJvYcCVlPB1GM98DiUkSns/GG3Ku/0bVN0dI9vQnUxP8XY0/vENZDl8HB10YE/JhVI91zFsN6jvBPOfezw==@kvack.org X-Gm-Message-State: AOJu0Yy8YL3jCd66kiG/wTLFCdKjH9Z6Qg9SnnV9XvH8FMGaUNyOifUO FEHAwddYpiQOj8wy9TxnpPo9dySHz4M9KnWDuOgErULMJx0/D0cb X-Gm-Gg: ASbGnctVepXwMmclr8RpipFdeXYwLpgeoa/y89Y+fRh2gGB3zTK3Y5NGH0LHJsH/fb0 70ivPGQAYbzkMiwfjUU/4i/8uZeFOE6dsQzJWr0L4N9nln2X2STYhAViU8uM9jrxaABw28f/WnN RZAOG1KWPbUwwsFsf260mHR/AQZUMqSHO7g5tJIJ8jXKASaMo0Gb0xB1V/zgCnSbCZfyl4/3q4Q z8vS5iDpnw2RzMdLCfVXttAnGhdBYILTGhcWiSkD4eWx1AjCagjpi6Zh0uJz4rh3VLEEMGOgkOD Suh7TGbJkggq1A== X-Google-Smtp-Source: AGHT+IFhlyc186tNNuJZi79PI3qlJsGmHC4/KUNG9CBtZP6SR5/AFRLR5sFR2OFiW12cBhbVQ+j77Q== X-Received: by 2002:a05:6214:2582:b0:6df:97ba:4f7a with SMTP id 6a1803df08f44-6e243c5eb6fmr359442226d6.33.1738623384681; Mon, 03 Feb 2025 14:56:24 -0800 (PST) Received: from localhost ([2a03:2880:20ff:70::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6e254814d01sm54971636d6.41.2025.02.03.14.56.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Feb 2025 14:56:24 -0800 (PST) From: Usama Arif To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, hannes@cmpxchg.org, david@redhat.com, kernel-team@meta.com, Usama Arif Subject: [PATCH v4 6/6] Docs/admin-guide/mm/damon/usage: Document hugepage filter type Date: Mon, 3 Feb 2025 22:55:33 +0000 Message-ID: <20250203225604.44742-7-usamaarif642@gmail.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250203225604.44742-1-usamaarif642@gmail.com> References: <20250203225604.44742-1-usamaarif642@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: A888614000A X-Stat-Signature: fz8e655tc3tdpszebfurc86zg1sp7pbr X-HE-Tag: 1738623385-982728 X-HE-Meta: U2FsdGVkX1/XT2B3sIhD0vOUFqQNdhRQLSumxjCQvsqlM/Fw6iLCp4OCLb+6ZTQ/BYqbKqDdKawVB5N1RP8iNb89jdnt6SeILas5UplP7YvqDrm2NR27YOzcKUk0iPk31hNXd31aNhP/zYjrqReO7j56ujCAKjPNy40wbg6YJydkpX5tOl1Fn9fKWIzZz8qJnUrDe6IN6IY3BiSIxB0N5a2Us5xd9Tys4jCZHic5Vq7F6grbHf20tRdvv7pjmuFxdfv3igk8rU7XsoP7POYhi/DQR+Xp5PyGIhY7f+ERS8G+hhQ44aloYQJxSFOaJeCJDTnTLQGSPeNIXXseUrV9gxdXyheUoa30tVW1k0lk2pJJYvSqFPeWhAM0zoNoiRfAdWk3Zbt82Uf6ixznXdI7ufAH3vg6pKvz7ecZGHQ+lB+fDdbmWSfQZh06q99ZfeiZSNry0HH23smSzzqBgaV26pqNn51ddyYrIj4K7jJfhk3j+ipslXyfhdxuLhAnJ9tOyUGdh3HopFAloGXQsNuORZ4GTz/XjeRe+j6WDRnCLkEtExoBkchQcJ6YknHELa0U0EFc+ZLmz6Z0N6DSrtIDct5fnz+PV9xjFSE4hDdN4AogEoW+grN1TfzKC/YGkuCsy9+sKRNVSCumOGT7ur+NoCGE2/7UeaTxdxihllZXMv7jhThEPM74nWdI/kCGTKcDu/+VcgGUwA6Td5ojnrZWKnehmERzgnqmX2GDtB/g1fXwOXRDGfEMa+/aqZFxF+z2/xc42YGwKKy3a7aFHCgD6kieRtX7mE7ljqOgDQroXxBKAWN1nVq7R+qpodY8PPiVkXXVFnK28IE0C9A7L3vr8d+gDa6mMBK6JkJGFl7HIf9+v2wJHgrFgO40En7qCIqzP15kAIqqYHju5j9K01OQ/YSpACL8h8X+UVE0DJgI60jr4Q1koMPi2wiI0elbR+C/0Gf+kZn6QgCHG5kwDqm bVFxbbLC tqrY5TdsXXjTMCovAg6ApdbEFjVI/BjpFQ2zkEgu0X+0LmBF3vFv36LfPu828FYcndPG4QqgA6MKNczoboLCVANEz5iu9RKdOKD6RO4GFtl7xO7s28Ba6r06swOVXBieH8vbJIa/rN7az98ixQbt6bNQaWMepU+9zqAzK+cXQZnn66nXnjeKcc/mehNsPB6ePoYTBftQ+4DAEj+0FENpanc4yAo/Rl/lcxbc9U7UjdIoGy0QxQl+ypIqQ+XbkrsWmKuTH07tjWGvbl0X1y+nsbOndWNWL9/J4HwkuvG13AlizK1g2wt1wqWhbnqX58AoESHFV3YEzohrgYCoS9ZehuCDPqh/9M9CYx8BRAZlSjZj5lkBe6DFjTWXreg/Jlfq6fq/TduzdLMs19hlUMcdODpbSA8X0HViXvwrBNW8XdnpApnTlWvcsjlG0cPnXgyW8EGJfBEpT6RhKOpe1kmsEeLH7FxgcHeCrFD8wpyiT8x8XVQkv01BQQBS/s96kT/SLBeKs0QqxIJoKoLvwl3qeuZaoBUEYKRlXtx/As4Gw56CvYNttPvGfEDazwXpHiIF4oWuFUzzmWHwPUIJB2gUDf8tUq8KxMRL3LQaj3+MNnM6FpIc9Lh5KDdoKOuO+dvvhudDoba5peP3uhBvUHj8rqg98Fe0IvgQbpLBKHfdHBd5J3SusDErre0wQThMQjiA+ucRZXId5d0xgRkd3ZxSIRb30g5BtNHYAjtyfCVvZY2CxgGBfB74rYc0rq5Pvara9bMA7DRM/81Fbfoest5mZY3FH0h/DIqihEG8vKjZkqGMUCeF56tP74dGeQYHeheTLN/5UGfcayiYENkMC9TE5rovykktgEt0kv50HrnJgh6A6A5vAkImCnb9gw2b6o1A2GAEW4XYvo4cfXFwoiV030s+P6iBJLXMSiNFXhqFi114Mex2cLd2Xl4CRYc8nOKluaL8ooM6j2+96mM6HOG9YaGOm/R8B 6LSCdcWM 9Mgbt6470VabFcDjsLwQ+nTmMP0hEJdi67IjwNPQ+IRmrZu/RIL7mzKasuxlBLvl5YZdkJpdaoZ+hviGtnMQPQw+bgmyaFtcnVCey6GYHmd4OxWkswP2fy3NdL47stZTmeM9KZyl3R56MPgsNpG//aUzf87lwBcXjLTjPseB6A7GmzR1TEmqr2JyRTXv7/4tf7tBvWyc2ZR0sCAC25AcS4lqei0UHXef2ufU4vZwlxJVz3kBXW9PoMHpC+kiDMgBAnV0n+EZlyBfo3C6F+CMSpXQwV9D+EtvcmiziQwGK0cCsCp7U+fE0u9qAemIYsRDK1v51yYht4h3/gjikCwHJkRBToaoeVJ8b285NsEaF4dyo5t3N1UzJhHW9ATSRtKzYCzo/2uLspbF/20DYwzfUNYNKrIdl9+feo/t3WUwUZpWmD8Wf2vafk/yFw1B9YzKmFTfQyw61VOfE1ivo52Z6I04WaumtI9HEtEcVHrN72RQvxjimJ/UfRw1BgLKH6ZNZSqydorbAk5N45CsUIHQCl0kFmnNdQYavqyQjsSh/Cuv3yp4LM761s6yWjSByJIASSrWD5F6O2crZFp4ejEn8e40/6/Sn4b8bE/7mLYGcNow7au2sorXigZD14FXlR9zRLZqN1jltHxoBTJNxJNdB6r2pwWb4SmNQidAqKfOhplVvXr/r+MSlXK8qjU41tVFWvF05QrxemODZBz+EdTsx34nIIJCp4ClcyL5zY+gaIR5nx1DDUu0GYrFLeigMCPqdwpt5SoWQP0uoi59VxlKbU7DoGek8gM7mfxryoQjsM86iw0js+BrdwZz/z7mMKTobhhQ7JGLy8XZvSFIMD6EXFbwzYKRWhxusee6KjKI6ol5wBPrfWINb7lylVSn1t+ZrZdFEVyPnW2gOYH1cvFDYny8cna4zHnTDMf8iPsn6Nl0OPjClL1eeBiyIz1azvrqxBazXJq6RquBdHtXU9bNdT6HBe+38 eqtuff3d oRSVFNnIUAiens8QFDKUgRdO+3DvHaog4Hw1xnbHFDdCDtiOCejxpBbpg7GmoORzGDT9qiaESd0c4RCUxejBqdS5LZoOM2djpPevSvT+zAi0DDDouk1dakFUzru4Clx7kVk6/TTW4beV1ioZf6risEOUNh/H5vc+M5BYPtZt/O7ZNtX31k/nrHteqmCM9EdmNyPrV3UtraHViQXmZHEGXwEMBQ7WHZzi+50L643rwuslnZDPEItnPhvfgCghsFZVnAtsEB17FeqsjDzlFKgP9GCmPvzDUWiaMb3+/MmWtSudBAFfmGbLaxRsnvyLN8Os5pwyS30x4KXwrYwJ1XlpA0nR02QZOuJPvsfcNEaJtFYdDQY1Ne67wtWt8pFUVieLTVecmZhoruvzzu/xcUU+Z3EN7vLSEHTGQbs8QCckGcd+oa+LgiypwAz26MdEBYHViQRUFPFptBm3HrCzsoy5/nD7yAznzXRYGjz2jwKTYcHdOvdeVDBf61g5WSa43iUMrzWAbmTkpUUdOKmUfkoB9SxuyBXgcIA09me1Q/ju0qNplBZuLlx0Lz21Nby8CqoNbaIm/mML+8/8Ah8qRYCGM/BfdUZ2/xZS3yxigYPgJcd0Z4elp4oml62VeQpoh/1EPOeVtH+0Cad8nXyUWPxt19u7Z9RCVd7hbcaenWavFjaGhq2o86W4+rPClqz1tyNw0KTSLBKYtaKL84Kl3gPVvB75GLuQ0IEQ46Ho38jmRm6dgKIAMtWjezVqQ4a9R7LymD8pMShYPfWIQRhvDWWreVB4q1zSOI/zX3fjXiIKdBHTQMNCyJUYPSOPLm9wwd/oyjUHzZ+XDr/Az1iuVydhz5/xQCzTftayWOsIUuqC/qxoZeg1HzfrYgOqMsjXnr4Gcto8KLk2WtBrgUNjEY2eW+HB4ZP X-Bogosity: Ham, tests=bogofilter, spamicity=0.020664, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This includes both the 'hugepage' filter type and the min/max files used to decide range of sizes to filter on. Signed-off-by: Usama Arif --- Documentation/admin-guide/mm/damon/usage.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst index 47a44bd348ab..5765896aaa7e 100644 --- a/Documentation/admin-guide/mm/damon/usage.rst +++ b/Documentation/admin-guide/mm/damon/usage.rst @@ -83,7 +83,7 @@ comma (","). │ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value │ │ │ │ │ │ │ :ref:`watermarks `/metric,interval_us,high,mid,low │ │ │ │ │ │ │ :ref:`filters `/nr_filters - │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx + │ │ │ │ │ │ │ │ 0/type,matching,allow,memcg_path,addr_start,addr_end,target_idx,min,max │ │ │ │ │ │ │ :ref:`stats `/nr_tried,sz_tried,nr_applied,sz_applied,sz_ops_filter_passed,qt_exceeds │ │ │ │ │ │ │ :ref:`tried_regions `/total_bytes │ │ │ │ │ │ │ │ 0/start,end,nr_accesses,age,sz_filter_passed @@ -406,13 +406,14 @@ number (``N``) to the file creates the number of child directories named ``0`` to ``N-1``. Each directory represents each filter. The filters are evaluated in the numeric order. -Each filter directory contains seven files, namely ``type``, ``matching``, -``allow``, ``memcg_path``, ``addr_start``, ``addr_end``, and ``target_idx``. -To ``type`` file, you can write one of five special keywords: ``anon`` for -anonymous pages, ``memcg`` for specific memory cgroup, ``young`` for young -pages, ``addr`` for specific address range (an open-ended interval), or -``target`` for specific DAMON monitoring target filtering. Meaning of the -types are same to the description on the :ref:`design doc +Each filter directory contains nine files, namely ``type``, ``matching``, +``allow``, ``memcg_path``, ``addr_start``, ``addr_end``, ``min``, ``max`` +and ``target_idx``. To ``type`` file, you can write one of six special +keywords: ``anon`` for anonymous pages, ``memcg`` for specific memory cgroup, +``young`` for young pages, ``addr`` for specific address range (an open-ended +interval), ``hugepage`` for large folios of a specific size range [``min``, +``max``] or ``target`` for specific DAMON monitoring target filtering. Meaning +of the types are same to the description on the :ref:`design doc `. In case of the memory cgroup filtering, you can specify the memory cgroup of