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 F0C50C369CB for ; Wed, 23 Apr 2025 18:50:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 77A576B0005; Wed, 23 Apr 2025 14:50:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 702F26B0007; Wed, 23 Apr 2025 14:50:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5A2A96B0008; Wed, 23 Apr 2025 14:50:39 -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 3A90A6B0005 for ; Wed, 23 Apr 2025 14:50:39 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 90F3F1CDE87 for ; Wed, 23 Apr 2025 18:50:39 +0000 (UTC) X-FDA: 83366199798.28.05D0F9B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf13.hostedemail.com (Postfix) with ESMTP id CD0DC2000B for ; Wed, 23 Apr 2025 18:50:37 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lhHEjxGE; dmarc=none; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745434238; a=rsa-sha256; cv=none; b=mfN36fswXdeIc86kEM1ySqzPYl7nBUvQ8yN4PhzrO7SE2QNi/ITRjt2nOV5kocr4REvnNf p5XetaQmOZEUHY+rzAESPRo4aje5GrZTRr+wmm8RyejuUYFS0hexkGezyhRxa9PiGThH9c We241EjjAhrMvKCwi5B/qglIgE4k4bg= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lhHEjxGE; dmarc=none; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745434238; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=163fqENWuFQxoVuJPb9NCuNRkwVafkYxdXQIBrpfRPE=; b=Bn34o1PEXUoGTAPxPS0VFKdp698zE1tGw8T697ENlsHBOQc9WO/MOB4T2XSJmJQWAwBDyY l1apV5KgLYCBhrEFNRWu4MT8P9YTnwXmBiglT2wjSm+fd+l502gy0uYs2EyR7SBmZf84qu c+IPJA8XKArfSkH4wbKZaIQAVfrmCRE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=163fqENWuFQxoVuJPb9NCuNRkwVafkYxdXQIBrpfRPE=; b=lhHEjxGEl1FWIkenDXcvQ3ESps 370Cy8bfjUgZw6Y8R/oGtN/oX+rd5YGVZPGjVhDdmwD2YZQBD4wAL3kydqlXnXf+dg6WBBoJnalpS Y3FrhrD6iZ7RE9Boc/eIY+Z5KJChC6leZBdA+9qSAnQ1P1ZOkfEA0ffX2MiprjMXrlZPyLWa2C4sE bO37mXg2jeL1lMkL1KrryRRCzqbDqtMSgkXWv6tIT6w/sIRj6zVZPY3nshweOZq2j6LsXBJaQyOdR DYgrMSertn4MmcFFarkZN9ol+tYPeUUmF10sHa+Q85s9TSXOfWXNbuawIGG+gZoHN4iTCEU/vhYVM haqw/fVA==; Received: from willy by casper.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1u7fAy-00000009uQl-4ALn; Wed, 23 Apr 2025 18:50:29 +0000 Date: Wed, 23 Apr 2025 19:50:28 +0100 From: Matthew Wilcox To: Fan Ni Cc: muchun.song@linux.dev, mcgrof@kernel.org, a.manzanares@samsung.com, dave@stgolabs.net, akpm@linux-foundation.org, david@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/hugetlb: Convert &folio->page to folio_page(folio, 0) Message-ID: References: <20250409004937.634713-1-nifan.cxl@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: CD0DC2000B X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: 1ybs934edxyewwj6wrmrym136r47wdxc X-HE-Tag: 1745434237-601556 X-HE-Meta: U2FsdGVkX18k2KRSUQRZ97ENnGZuHUEH+r6Ru3Ev6eRzrIYGFoXb0iTfk+A2rRVOstkhATBpC/N9WbSnvExBMYbu0zveekYWqUizStj2hGKpd5KLSTlqvlUJpIdYihOb5hyA8JQxZKGbyGcFsOcmgIMh/uI7z+T+uzB3Ub6C+hOnxHwpNYQrmdFeB/+uEABiqeEzIsnayfk8oEan/GjenrxMoOKkES3VBM7MarcvXLQbMfxb6M10ocCZ6QbYK03tg+C8Vx/ftGWm8V2+l7bEY4vYIPTFqH53J3ATeWz6fiGQuCkRIeqVxsKS1tRtMS0E+aQq8jczCtWJMlS9U8aMoMhv/IWn/V2vdQJIAPPoSLwsnwh6cUQiWKmLgZfkDnnAVhTFVr4rgt5QniTuTYH1Smhr9AoQKR8yGCvjC+OMTqAZpBNIi1iPHn/CKJdTxSwRaRNEgsW/v0ypkajKzlvxu99ucNv4NUWdGUq7erNVDitbV86Fk9O0xUfXlnH5uNXXPzUCMuxE9k13VLPRxAi0XTfFCb7xfnDJ6p/MwrEccZHUge3CgSGJBKYeD9r+Zz3hfzj71h7LIsW15czehzKDmBoz5p8AhXcNSHD4sZbTP3uvDwUSJtriogmM9o/4ZgIs+IQ1ktKwLIr1/nZpyRhoOredl/fMdUHIYQuKKlzu79fON+qytSRlxQlBYsbfeeHTItunJbEFlz+GcqwUpvw95OordaGkg3IvYXms9fqeOInkkxsvMcvMVVNQC7j3O+KVTTKk4QsO2V8y5Q86cT0164vS82o5yBP5YYDJNSvFa2VEcClTfVXqksN5lawKWimxs6Fu8Ed7ghymd7pGshEjZkswFPIQNZR2OvJyIYGuD/BjJm5yCxOhORSWooBG9bG0qdG9kXH8HtSqm89FTDjTprJu8YXBFrgdEZeINu4FJYBPn+zDtxoasHEeBgQnxxXF0cs0n9YtrOhtivRy3Qv OVpM9jw3 n9w5SOmo0lJOHEEyuOWqvCSoZ2IvPUhmRyJFdJxUtG4JqWVbFt0lvbqd1lly0EjrUqK1ED39FdojGNpjlk9l3LSOW2fbidvrAYr7I1SU3ScfIVIewBkV+oNTpROpBX5AlwD1ca3cOefXI8o2U+3/Fr6BOQ2/h+gE3vAeczENUxvGZJmM/Vi9HjW9a6o8vyViPS20vNBDj7GN0Em7a1+/Us1WIWu06ouh9X055ORYsEx35mkst1/pBgsmiOzrVHlScoO3MIbU+hzsoN5npkeXHQYsZsifje1FX5t9gNJdQDNUoGlaQf3uC0jIGzEWEuXyJZCu26zPaGQETzLRkR49JGD0Xw21TzLuY0X4WAQ25WTEiMFZ6mhtyICaVyzK+PKpdz5Jr6x06WVeslMQ= 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 Fri, Apr 18, 2025 at 03:42:45PM -0700, Fan Ni wrote: > > > result = install_pmd > > > - ? set_huge_pmd(vma, haddr, pmd, &folio->page) > > > + ? set_huge_pmd(vma, haddr, pmd, folio_page(folio, 0)) > > > : SCAN_SUCCEED; > > > > I feel that set_huge_pmd() should take a folio. > There is a patch on the mailing list for it, > https://lore.kernel.org/linux-mm/20240817095122.2460977-5-wangkefeng.wang@huawei.com/ > > If the above patch is needed, do_set_pmd() should be converted to use folio. Maybe? I think we'll eventually want to support folios larger than PMD size. So I don't want to pass in a folio here unless we can calculate the precise PMD-size chunk we want to map from this folio given the information available in vmf. I know that today the implementation does this: if (folio_order(folio) != HPAGE_PMD_ORDER) return ret; page = &folio->page; but eventually we should do better than that. And I don't want to lose the information about which page in the folio we really want to map. So have a think about what the right interface should be (passing in a page? folio + offset-in-number-of-pages? Something involving the PFN?) The obvious hurdle is folio_add_file_rmap_pmd() which today takes both a folio and a page.