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 2DF91C02182 for ; Tue, 21 Jan 2025 17:53:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6BF696B007B; Tue, 21 Jan 2025 12:53:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 648B86B0082; Tue, 21 Jan 2025 12:53:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E9A26B0085; Tue, 21 Jan 2025 12:53:07 -0500 (EST) 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 2C1F86B007B for ; Tue, 21 Jan 2025 12:53:07 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9829580DCC for ; Tue, 21 Jan 2025 17:53:06 +0000 (UTC) X-FDA: 83032205172.04.D493C97 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf23.hostedemail.com (Postfix) with ESMTP id DB1C7140002 for ; Tue, 21 Jan 2025 17:53:04 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=SanEfYfC; 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=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737481985; 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=7UYG0PmP0pNPlk3HRzSTq4+p+2xRwl6H7GJ1MdtZzho=; b=ItrlBIEU8YUTAs4NQD4RT2G0yEGnErFlat+lOfr+oVG7mO8+n5RJcTW3SMLtJB2EMUAsGe aV8YtMfLVMEgyKHMg46b74dbCDUok0jjQQk3Nk+/3m0g5sWjymKTjH+j97yX+pdsn0ChLH bMI5DP+l9jZYjfbilnNE5/kjNX2FpoE= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=SanEfYfC; 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=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737481985; a=rsa-sha256; cv=none; b=ec1DhjLKQ2DguWw5GzCaWh14y2fxiVufXRA3VUNbDmcVoDedCrReISHgrvgW3G3KjinNpk 5Ygn0ITmJdTy6cEF++kV9Lmf8ou7LcdiJQRc/sYY+fevQ2SWc5Hiy20Z3ZtckXFa6SDpTS htCT4iTy4GpH9Mho2efUndp59e2FwhM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 53E445C5496; Tue, 21 Jan 2025 17:52:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55871C4CEDF; Tue, 21 Jan 2025 17:53:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737481983; bh=K7gJF81Ay94qXJTumCAoPn/9y5srjOeDDkMTi4gsNoQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SanEfYfCnWRY20nMIfjisKL1nvEcfQw4UdU+yTrK7jSukEEjNPH6xcsWn3AB+BCSX CnvVWEjGWzr74E2p99hpANpBf+VX5wuFZTsG/OMGMm61uRv8DO2yo8R5OIDUq5DY3a VbjRRzRfW8lsk3RH3SWm3A5B2pephUG1RwXrOorevQCK0iVMa+yl8xqPhEi3oA24My O4clI99nkxAA66OywHRtarGGVMgid3rYbEn09XQ1Pen3FRzD6tAsePbvFUcjUpPnns 3+E8pqRZz56XviJ1hWErriYDWO3ZgEAKZHUPyySjtNc9XATAdTmcFkOTqQbho4Z7+4 N5Gvf1iW0hOPg== From: SeongJae Park To: David Hildenbrand Cc: SeongJae Park , Usama Arif , akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org Subject: Re: [PATCH v3 2/2] mm/damon: introduce DAMOS filter type hugepage Date: Tue, 21 Jan 2025 09:52:59 -0800 Message-Id: <20250121175259.42535-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <6750d7d8-0b21-4f0b-88a6-c4c8ad98f9a4@redhat.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: DB1C7140002 X-Stat-Signature: afere58pty54w4891hfpq6woju5mbmz8 X-Rspam-User: X-HE-Tag: 1737481984-138976 X-HE-Meta: U2FsdGVkX1/tLxL4bCahyV9uajUujC/rdpza78K2KoJz4of4A0gnovcoZXixn1rgIpyDKu5m57op/qSm/GUAm6mKMpoIPZc3uaca32MOm+H3GW7fV4LrxKjVJVmhxsB8R/UvPoMrBLuCl3VsT+wsVmf5yOwgAuw6cegFiQ8uOa92nQGvjzjHtA7+GFvJTzEnIikdAIMCU0sL4/DhmwMPNNf/jVEFvhGJWb5A4sbiAwknJfjyb4vi/5e2ne8okPfLLZjqTP9n/gZsSGGUZVD/BlGwqCdREnIccgwglHWJsyMq6zKkQW5TeRqgwsa87+/CrcWMU2txZkOCaBs4flv8zATsy29umG26LjSAT4btwHQFoRR2rge/2ERb6aOM/tUn+mbmz7snf7ZgrZ6/pb0I8cSbPX3oA/HsTUtq+WwXziJVjnntK5DZnGrRIfqhzWmcz3120nWsVVsxD5wVlv5IdWfK1tJYCtD1QgtFVGi4PXbDcxwlxRrsPKhYrSLe0fVlFD02JtTlvGfdi2y55QIHLEmi+I95eYxlkRc64bAqlAqoQlS7v/ptGf1LjXp2k0qaCXr3UN6cASmka1sUjievFLTyHqwntYL/zHbK779FyiyqAJ9ZFlKNd5iTISh70DiTEJAkboKDgLVYpb++Cy4pvbr6in2Fipp/DQDl/Gz6gwf74NKhrYGzr2GdSpLh5Kd566z0VSMNnsUDtMKGTLPq+nOiT4wmikgVL0I4HBwX7A1Apx3Bl04DLJUT1BfWBTzdETA0pGQOdRpor5crLveAvK111b592stqFSGOWGzq0KiHzqPvesAncNHu/ViwtvM0yzl2JMtexgBt2zvQLB5axnScZNP5kFtJeStcRzNoJksKo6pD1H0GLx2jk5Z5fYZZpdPdATEDQRNV35gYSNsVyRv8dY5/+m85ce0DsJbdPcv2Rt557EczG/VKSx1/yTIdkvWudTK+opSOjcCI869 UUlau9wS M7MjhnZ6mW6iZGtMs7wGYw4aApfsMq5SK7QPdvKYVqHjqhxtOM05M8AuLmwxfqbTTjQNyejuAxTGZ6wvMHktv7L+mY9SqXDmGi3ssSyCel1D7pJi51O+K1wh8FF7ViuAEcOwbn5Rv3eAH3TmzGC+8TgYXsbaJoH6o5oc9YVAjh3ThkavtfkwC7/CH7QHe2i7IIIajieXOaFfG3FD/CmeGu4nqwILNp9hzySy8Nw9X6xHOto+58gw0LTwi8oAIZ9O0vl6SETpa/G2u8/+ckVuYJwVy6w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, 20 Jan 2025 21:03:05 +0100 David Hildenbrand wrote: > On 20.01.25 20:58, Usama Arif wrote: > > > > > > On 20/01/2025 19:30, SeongJae Park wrote: > >> On Mon, 20 Jan 2025 20:23:20 +0100 David Hildenbrand wrote: > >> > >>> On 20.01.25 20:16, SeongJae Park wrote: > >>>> On Mon, 20 Jan 2025 19:57:10 +0100 David Hildenbrand wrote: > >>>> > >>>>> On 20.01.25 19:19, Usama Arif wrote: > >> [...] > >>>>>> +#if defined(CONFIG_PGTABLE_HAS_HUGE_LEAVES) > >>>>>> + case DAMOS_FILTER_TYPE_HUGEPAGE: > >>>>>> + matched = folio_size(folio) == HPAGE_PMD_SIZE; > >>>>> > >>>>> > >>>>> Can we directly embed in the name and the comments/docs that we are only > >>>>> talking about PMD size (both, THP and hugetlb)? > >>>>> > >>>>> DAMOS_FILTER_TYPE_PMD_HUGEPAGE or sth. like that. > >>>> > >>>> Nice suggestion, thank you! And we might later add more filter types for > >>>> different size huge pages. What about extending this to handle more general > >>>> case, though? That is, we can let the filter receives a range of the folio > >>>> size to match, like DAMOS_FILTER_TYPE_ADDR does. Then, the filter could be > >>>> used for any size of interest. > >>> > >>> That would probably be future proof: either a range or explicitly > >>> specified sizes (ranges?). > >> > >> DAMON supports installing multiple DAMOS filters. So multiple DAMOS filters > >> that each matching single range can be used for the multiple sizes or ranges > >> use case. > >> > >> > > > > Does creating something like schemes//access_pattern/page_size/{min,max} > > sound good? with the default value being pmd size? > > "page_size" might be misleading. Good point. I'm suggesting to add the files on another directory, and apparently Usama agrees[1]. So the term "page_size" will not be used. > Not sure if we want to use the word > "folio_size" here, so far it's more an internal detail that evolved from > compound pages. > > "hugepage_size" would at least match /sys/kernel/mm/hugepages/ and > /sys/kernel/mm/transparent_hugepage/. > > But if you would also support "single page" == e.g., 4K, "hugepage" > would be wrong. Again, nice points, thank you for letting us aware of this. We could error users if they try to set <=PAGE_SIZE filter range. FYI, DAMOS filters supports making the filtering in/out action for not only condition-matching memory, but also not-matching memory, so it will still be able to be used for filtering in/out base pages. That said, I now think "folio_size" might be a better term that allows simple implementation and flexible usages. What do you think about changing the filter type name from "hugepage" to "folio_size", and let users set the range whatever they want? I still think "hugepage" type name is ok, but if there's no objection about the naming, I'd slightly prefer more up to "folio_size". [1] https://lore.kernel.org/db16fc35-58e7-453d-9fbb-318a88a98cd1@gmail.com Thanks, SJ [...]