From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D6B50C02181 for ; Mon, 20 Jan 2025 18:16:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2323D6B007B; Mon, 20 Jan 2025 13:16:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1BB6B6B0083; Mon, 20 Jan 2025 13:16:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 035406B0085; Mon, 20 Jan 2025 13:16:05 -0500 (EST) 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 D58DD6B007B for ; Mon, 20 Jan 2025 13:16:05 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 2FD111A01F9 for ; Mon, 20 Jan 2025 18:16:05 +0000 (UTC) X-FDA: 83028634290.06.0E264F7 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by imf30.hostedemail.com (Postfix) with ESMTP id F3C5C80004 for ; Mon, 20 Jan 2025 18:16:00 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kOGoyYKl; spf=pass (imf30.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.128.41 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=1737396961; 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=jvuRDwF15l3eeDRVUWSXFRuYOtgA+kolXETBWpGp7WM=; b=hTB0emBosuVHl+6iMHs2KQmazaZsBicVngNQgQMK6PLAVROB+2TiXmkSydM2uD06xH4InR 1MogSNHOdd2PpzHpS2CaPPN+IfwcT073pOm4rdPMoxs7rG4EyBesuHCxezndGby3FBc/cw WzjLlSYWZrwLJNbdhcewGPlvY+5MKgI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737396961; a=rsa-sha256; cv=none; b=KXfM/XBOp34YFvt04kFQUF44H99JSd7Ek8d8KfZBc+H+A9xi82g92MPAEqEPrBzaRvXJFK AwiKjjEypySqNCzn5tOO8QwPj8ZA6ozZLzZ6qMqt6bdRmw46iT9fDx7W3uXtNkKxPj+wlq B03gJmdzEFYOzHkd2I157qHmU+z4B34= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kOGoyYKl; spf=pass (imf30.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4361b0ec57aso49185725e9.0 for ; Mon, 20 Jan 2025 10:16:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737396959; x=1738001759; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=jvuRDwF15l3eeDRVUWSXFRuYOtgA+kolXETBWpGp7WM=; b=kOGoyYKl7UhucLYdQH1ol049XhOz7VVM8irI33UqV9+AnLz8JLXLG5hOlAkBu2YhrW CDyoGHAy+Anrj3NGcwclmz12K+YKRrU3A3Xqwa0og/2SKy42+yhslQpzeodT5tzabvyG gixrTOnB51WR6rJkScVIyxN7f0h1rXiekXB/Rp+B1iFt+xCahd0FTYMm430ptludQLH7 JRcTXtSdcnamr0uSWFwe3t/pd+3lUYEXxmrIBhfliYEi4oE4gpmbVBm/cFL9372UtRqy NdNuIu6o6tdy6Y0uHzHpIRG1BQvCN6EIphyAXjldUjFd33rbpzJe+DuEmruadHIcRUex ymtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737396959; x=1738001759; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jvuRDwF15l3eeDRVUWSXFRuYOtgA+kolXETBWpGp7WM=; b=cjUlHt2w4cd4VAjQJjcp1SqGHo+hqMt5J31WkNhe1P57rNleYMgmdx7A/FPKlU2ke8 LAvo63wiKWa8IJUIwqfzGoRwqvgiXNpMKsVIdixA2IQRRoSpOgYPZ6KCucp8GideCR0G 6p3/0yla346ZappvToUER17sUg6iO0mmGCfNoOQ4SiLCP8B2dOXIhwHHsAqbS1a42tlN IwlGUBdsc+iw2eEI7aJlkL/QuRPdmG5EGtu3dAVDxzYW/Zu4TujP0hhTAamFmHlLYTB7 AKDO1N7RLZrI039OgE9dNjUtvJ9dZSFFNhQLLDMuH3cSka83MHWc6XNi+40VH5NDTlar QCLA== X-Forwarded-Encrypted: i=1; AJvYcCXp0XT5fgj2ulTR6IPPY9rH2lkQtWl2814lO45OWl4s02JwfhaLsjjrjqUvPTQOB/8uA001Mue/zQ==@kvack.org X-Gm-Message-State: AOJu0YzCUm+LMfAzL2WbQFYOiC3bgSnd2c046qD2SlMAB1AeqttnmbfW yTEIEZspaxZblirtIoPBZCnHaJt8mUecotzXBm+1TXEubZugGKZI X-Gm-Gg: ASbGncsH/xVGP/NjvT13+E8U4aS77qEIkai4AuXirXsv4zhfxflWensgttBnkaP10G/ /96ri6qLhkgv+dLE+LjJLEk6zNEEpg+gqGWqcnELI2hi2VK8GQuYexFkOnQt1j5TZRjkQOljpjo 2cFAQtT796r8RaqbOCIpJ2bTo4ba3VgHX6KqXgF3mX/cxZ7FMVTao+Od2r5Kupy1AovlJzB53Bc uNykPYQGdtff1MJgseSAjALLvb0N2gtxMxsbgJ3uRxysyEd8a4vhgfMlyr21ExFjJD3G4SEeQXy 6TXKsR9s0MWbA4iqX0huz/YuPmcUou24y/Bd7jsC9/E46U7kYQeyCuu+M6YoMiE= X-Google-Smtp-Source: AGHT+IFNFvyw1hiWWtlTto7psqXvRt0zlzaIgT4u+Av0tJcYj0Y3g1Liqpw9dF5MwYtyM+/V/ku1xQ== X-Received: by 2002:a05:600c:1c83:b0:434:a746:9c82 with SMTP id 5b1f17b1804b1-438913be56bmr136757005e9.5.1737396958801; Mon, 20 Jan 2025 10:15:58 -0800 (PST) Received: from ?IPV6:2a02:6b67:d752:5f00:c46:86ac:45ea:7590? ([2a02:6b67:d752:5f00:c46:86ac:45ea:7590]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4388ebdefe0sm163724235e9.15.2025.01.20.10.15.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Jan 2025 10:15:58 -0800 (PST) Message-ID: <58826a2b-5ab9-41dd-b33d-9d92e7ec7e11@gmail.com> Date: Mon, 20 Jan 2025 18:15:57 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 2/2] mm/damon: introduce DAMOS filter type hugepage To: SeongJae Park Cc: akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org References: <20250120180815.36028-1-sj@kernel.org> Content-Language: en-US From: Usama Arif In-Reply-To: <20250120180815.36028-1-sj@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: F3C5C80004 X-Stat-Signature: eg9affk6xo811oef6tjdepi4bjucbmse X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1737396960-542552 X-HE-Meta: U2FsdGVkX1+P2XA7KbXBcaVoA60Z7Oa+aqdd1/TZY7PXhVd69qooS7H1Iv0yM4MKvtRbvzJlDBixsHxa1/jIUcjiT1JiufI1fbdxxlazqe4f5gZY1oOyVnFnm50PS6N2vXurvVHvlRFRdDbiObVpRo3gkWSsQQ4umbeLQsK67xYw94CB7vkk36SEOGo4LrgNa36ZkcbtHQp7bxzT2bSHmNOIU53dSxrQOL8ELv1Kz0p2SJekBdzyLp5DDdrMJDTxiK8Ba1ZsxbawOmKFZQV7jy0fboNndx0+eYN0aw1aQdrZFNg2cfuJcu2KpPsNjkZFVkNhpMVHVBaAWuR61Dp2Q9LNanmxGWWFus/fOG+McCAcYQ1JqFjSAMcqIk4AzMjZzs3oDZe0A3xnbujEyvkU2y6uXnT/2XdY5p7gAhlKFVXqmAFXepfRfysTLnhaPFMZScYydRBucEr3Zl7SCJIIt1XIApB97SJrGXuiAcNPCXeSWjr5er3AhWfzZMxDYsRHJw6xvG/j/7HJAHcoP5L8pnfKDohbVze1ztyMN20yLZYQ76QUqBIj1fASSDfWLhOqAS+QGOq29UV4VJ02//w7BgSpd4XPDFrV8dUregEBdfKmtVzOh34LvOBJuKWiJlM7l9TwW+yKnW+fus4byFbH16TcTUNXHLceomnT00Ido0TkdQzrgSF58DgSQcWRQ6OfX4XcksmsPv5Kt6Pxefe2HwMlVIpsJYqPlFaoOq9sPNzI0be90HAIvRWGdbImI6e8Usgm0nC/8Q2zBXVAqsQNH65ou+2HJut2/1wl0KQ2rtrm0iGX39uwa35ZsuvUB72Pids70fJx7Z/QxruUNT8C1fWBQM8WdBnaEABpnh12R7Ji3Y6XstryaJYmUyM/1WRfSdXkApU++7iO+toEs43kCsAUm+lIJFi1ms79ea3P7Tko1gj0aLUwt7NN35y1Rrec7YQBqGnaMuIx6rfzGhy 9uvwQDm6 js0l6LMWY6bQqGYVk7Uj6zSNZlCGiicU89wKOEPLDxym+zJ6Nwbcno1VHahshLO8LPdES1fFs/womhH8+FDpE7+06x/4yJHcTLOonQAVP8fa/kVfqtpMOciaMWEn5yTzvJToMGwr4aDO5Edozis0Vy38zVmQWgnfhqsnfhdK5+RTK0l/2OpGAX+To+lrrn5otpRSR0aFleWEJwBaTaMD95EgqR1bQ+41ZWZrJLNm837Fxfn8n2RpJBap1v7C0RnWGZJdN1OoTjo1+wesLtklGgZpwN3ijHJtDqyItHFNPLA5gqE1QoxWiA5NCiQhM9TcchYsqJgDLTUmyb14D/JGZoW8C1t1Sq6X6VFLhDVvW/VFo2h0gZiIyPavL1jY8qH1kDYpv/R9o1k4fh3zfhJzwGUHN2utlXSiWSR81onqG2jUGQ6KYfvCMONlB1ofbl5ucaVzYryqfHPiSKHA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.038788, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 20/01/2025 18:08, SeongJae Park wrote: > On Mon, 20 Jan 2025 10:16:50 +0000 Usama Arif wrote: > >> This is to gather statistics to check if memory regions of specific >> access tempratures are backed by hugepages. This includes both THPs >> and hugetlbfs. >> This filter can help to observe and prove the effectivenes of >> different schemes for shrinking/collapsing hugepages. >> >> Signed-off-by: Usama Arif >> --- >> v1 -> v2: >> - Wrap DAMOS_FILTER_TYPE_HUGEPAGE case with >> CONFIG_PGTABLE_HAS_HUGE_LEAVES (SJ Park) >> --- >> include/linux/damon.h | 4 ++++ >> mm/damon/paddr.c | 5 +++++ >> mm/damon/sysfs-schemes.c | 3 +++ >> 3 files changed, 12 insertions(+) >> >> diff --git a/include/linux/damon.h b/include/linux/damon.h >> index af525252b853..b0dbf380ab76 100644 >> --- a/include/linux/damon.h >> +++ b/include/linux/damon.h >> @@ -326,6 +326,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. >> @@ -345,6 +346,9 @@ enum damos_filter_type { >> DAMOS_FILTER_TYPE_ANON, >> DAMOS_FILTER_TYPE_MEMCG, >> DAMOS_FILTER_TYPE_YOUNG, >> +#if defined(CONFIG_PGTABLE_HAS_HUGE_LEAVES) >> + DAMOS_FILTER_TYPE_HUGEPAGE, >> +#endif > > I'd prefer not enclosing this part with CONFIG_PGTABLE_HAS_HUGE_LEAVES, so that > users can simply use it. If the config is not set, damos_pa_filter_match() > will just say nothing is hugepage, and hence will work sanely, in my opinion. > I was going along the path of not even exposing it to the userspace in sysfs, so that the user might not get confused about hugepages. But I agree the alternate is good a well, with just 0 being returned. I will send v3 without it. >> 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 c0ccf4fade24..224308140441 100644 >> --- a/mm/damon/paddr.c >> +++ b/mm/damon/paddr.c >> @@ -222,6 +222,11 @@ 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: >> + matched = folio_size(folio) == HPAGE_PMD_SIZE; >> + break; >> +#endif > > This part looks good to me. > >> default: >> break; >> } >> diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c >> index 98f93ae9f59e..3eb3ec464591 100644 >> --- a/mm/damon/sysfs-schemes.c >> +++ b/mm/damon/sysfs-schemes.c >> @@ -329,6 +329,9 @@ static const char * const damon_sysfs_scheme_filter_type_strs[] = { >> "anon", >> "memcg", >> "young", >> +#if defined(CONFIG_PGTABLE_HAS_HUGE_LEAVES) >> + "hugepage", >> +#endif > > Again, I'd prefer not enclosing this part. > >> "addr", >> "target", >> }; >> -- >> 2.43.5 > > > Thanks, > SJ