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 70563C27C65 for ; Tue, 11 Jun 2024 18:22:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 07D7F6B00B7; Tue, 11 Jun 2024 14:22:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 02D676B00BD; Tue, 11 Jun 2024 14:22:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E108A6B00BE; Tue, 11 Jun 2024 14:22:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C1A616B00B7 for ; Tue, 11 Jun 2024 14:22:07 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2F42BC11FA for ; Tue, 11 Jun 2024 18:22:07 +0000 (UTC) X-FDA: 82219427094.27.EC9F564 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf24.hostedemail.com (Postfix) with ESMTP id 7A112180008 for ; Tue, 11 Jun 2024 18:22:05 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=G+EiwD4G; dmarc=none; spf=none (imf24.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=1718130125; 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=v+biT19hMk3zmDJ0JM4Tlgb3u1aCfIc9jRZYIonIyMw=; b=LXV0+HlBwLPExb7SAxPdfZCxtD1z7NbrjhWI/fR9JXTATyTn7eQiZiShxETBj8aR6kwqJt 7585P7HOdZwXbxwf0NaTE4VpB4ihMzX7k/YmJPp6MzFfw4ZOoVwBZK5ztBk+gFmwy7ZBMp eEslaZIJ6gRY0vw4srobz8koQZ/oMsE= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=G+EiwD4G; dmarc=none; spf=none (imf24.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=1718130125; a=rsa-sha256; cv=none; b=MGV/W3CQKMNe9HLbY5tSfmSxb8+iRvw7Thvi3l9+iuqaBkVzF46xsCUoiaHhmqf8NIXkeo qITyFeZr9Qoi+Ufx82+MrT7P66LwCtwx+sVVQCPB0ddPWlZqBy+6IzEDqgaSxmteInaxRg vZXOayZNEJk+pnCMD4UTEy7Zp4kJd78= 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=v+biT19hMk3zmDJ0JM4Tlgb3u1aCfIc9jRZYIonIyMw=; b=G+EiwD4GDC9cHvXeCq1YHv7ti/ IlYTLigKWg5uv1EP0m2ybhYhGX9h/GnK3Hq5lwa2LxVKZDbmMrx+ifr/gJD1jXzUu9Nn7REYTzNJz CIeTPq+SURoWmu7zjSItVG/hbpeDrAbHF6GgqvufLdPYB+c9PHtctRqIcjYqPf/xD8YBKpt03+b65 VS1AwqXwbhM4Az0f0HjF68guIUL4sj11S3+ONs2WpSLuPfRvgAPR3KptfXUYnvicH+oYupZhxnEk5 JtdTIvo2npekB4qU11ivs6xb9vLohXCzoj/vAbxDoXiWdmfu20hjbIlQhpIFf8JoO4djRr0qnPRdj R5zIZyjg==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sH68B-0000000Dwm0-2FcS; Tue, 11 Jun 2024 18:22:03 +0000 Date: Tue, 11 Jun 2024 19:22:03 +0100 From: Matthew Wilcox To: Andrew Morton Cc: David Hildenbrand , Andrew Bresticker , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] mm/memory: Don't require head page for do_set_pmd() Message-ID: References: <20240611153216.2794513-1-abrestic@rivosinc.com> <8040793f-e9e9-4a2e-807c-afcb310a48f5@redhat.com> <20240611110622.8e9892e92618ddc36bca11b7@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240611110622.8e9892e92618ddc36bca11b7@linux-foundation.org> X-Rspamd-Queue-Id: 7A112180008 X-Stat-Signature: jef9mmebrgjq7mg689broxs4ayzox369 X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1718130125-487619 X-HE-Meta: U2FsdGVkX18dupbIOkQbF/MKtEBil3ZHjQVa+b7hXikVGDV5rc8UWtn9Cnjloxoy7VtVcp8SjGbbX7d7tF/fkVK+SmZ25uyB/ClW3LbqHScTcucKhjz+LTRyTYxYahsaSJqGn4paOygo1dJKUkQeYBfBud/8redxZAdREZFUx7j+0TGrHdVFObkCAWDcEtuSZgVXDozC0bKL6bQdbbYixfPNiEy2V+hJThCDQ3L99P8Rw481KHhFi3dgR43/90Mdgvjnwk0RY0NsJZGAW/oDHcrkCfRj+uyK9iljFVw3gx9mx8GyaPAlmu5TIwqvSCM20dYLD6GlmtH5Dq5ZQMt3qIiqfLWxiXLPBizbuBRru1e2BiG6UNypiCRcOikBXZ5hRe3tuuFrraYBJqd2d/Neg64OVL1K1GJGu/70OvLuITQES1Y3VWsLV0HYe+MgIX9jVjkB22Av4j0p6XqAJ12JxvL8m5i7X3Tpq9YHu5AU6bsrx0GHWTXLNDWu54TsD4DIAh/bOFfdgW0d4Yer6m/EO10DFsAEVGbc9kE0oVzlUMfBHL4d7fxlQbu9pY1mv/WWw9t4UvAXz51g3NfEVrWNWkKprfjFGDpf8FMX9AUnVH39z9SLJbB2AqhNS3Rx8gOLr4C2I/i8VJzMfQN/wStd45IrnUz/KUY8Q7WWvzclxKPa8kxAlLoMz8D+Zf1BmmhM2+HVJI6P34Uq+bvhDi/Q+ca60C5aerlJXOGkrQVEI+xQFim84ASJmV2lhlBID6YsT1jk1plvA5EVSLLazxrll9M23ShKGjWkRsMHXe6KCmepPaAkKEk/wS9s10wiiHzLjTP0380nqDhzj+7yNWVK1sh4Q5cZPITi0aYs3wED6yPyRRaCtLwkO2MeriZKDA7qgjWbmdpvX+JWGA4ZoaW7SfoX72F2yxYpTACnup4CqiYI2xzYosBGX9YiB6XMch/0IF5CisIvO0jQDrRxizA t7LujXmb AwVBkhvSg96Lg8aGgy11H5SCCuRYqZcQAcmoIrhQzleBWCWolxrXluf72h3gYorxf5QwgKcVOHJh23mj3+Rjh7ofC/t1uHP4PE/xKEmQ7YYB4v5TEXkj/MhbehAbpU0Wepq001oaVRjVjbRAYB/gIwf6tdjDu4m/sNQ8PIa+nET5tMWB+H90SvX81G+PYACCNuIRyFcY9MxMYJSaJeoghZd9tj8AqU0yvOU1t4IkvoSRAjdlqYpTxpztIIfsRaz72oeXMUIf2tWJEf40= 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 Tue, Jun 11, 2024 at 11:06:22AM -0700, Andrew Morton wrote: > On Tue, 11 Jun 2024 17:33:17 +0200 David Hildenbrand wrote: > > > On 11.06.24 17:32, Andrew Bresticker wrote: > > > The requirement that the head page be passed to do_set_pmd() was added > > > in commit ef37b2ea08ac ("mm/memory: page_add_file_rmap() -> > > > folio_add_file_rmap_[pte|pmd]()") and prevents pmd-mapping in the > > > finish_fault() and filemap_map_pages() paths if the page to be inserted > > > is anything but the head page for an otherwise suitable vma and pmd-sized > > > page. > > > > > > Fixes: ef37b2ea08ac ("mm/memory: page_add_file_rmap() -> folio_add_file_rmap_[pte|pmd]()") > > > Signed-off-by: Andrew Bresticker > > > --- > > > mm/memory.c | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/mm/memory.c b/mm/memory.c > > > index 0f47a533014e..a1fce5ddacb3 100644 > > > --- a/mm/memory.c > > > +++ b/mm/memory.c > > > @@ -4614,8 +4614,9 @@ vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page) > > > if (!thp_vma_suitable_order(vma, haddr, PMD_ORDER)) > > > return ret; > > > > > > - if (page != &folio->page || folio_order(folio) != HPAGE_PMD_ORDER) > > > + if (folio_order(folio) != HPAGE_PMD_ORDER) > > > return ret; > > > + page = &folio->page; > > > > > > /* > > > * Just backoff if any subpage of a THP is corrupted otherwise > > > > Acked-by: David Hildenbrand > > You know what I'm going to ask ;) I'm assuming that the runtime effects > are "small performance optimization" and that "should we backport the > fix" is "no". We're going to stop using PMDs to map large folios unless the fault is within the first 4KiB of the PMD. No idea how many workloads that affects, but it only needs to be backported as far as v6.8, so we may as well backport it.