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 0E971C27C78 for ; Tue, 11 Jun 2024 20:07:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D80C6B00D8; Tue, 11 Jun 2024 16:07:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 787076B00D9; Tue, 11 Jun 2024 16:07:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64D716B00DA; Tue, 11 Jun 2024 16:07:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 427756B00D8 for ; Tue, 11 Jun 2024 16:07:34 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F3D951C2496 for ; Tue, 11 Jun 2024 20:07:33 +0000 (UTC) X-FDA: 82219692786.28.10063CA Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf07.hostedemail.com (Postfix) with ESMTP id 4065340008 for ; Tue, 11 Jun 2024 20:07:31 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Thu2Lc5g; spf=pass (imf07.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718136451; 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=i+9M6etDyTwmu+EVr0Vu4E1n5MFu+UbgfAsiKhMS8w8=; b=lYqeKreDGnGudJ9xHYdRcJ3fCe7A287dMXn/qXFnUm7Pt/T+Oz9Ldu/4An8jkLKojlNqrT PcYR28QSOJIzrTu1DiYic3CJrJ2aot/nuDTdxVZ2VCWb9fP1K8/V0NCXJti/+PEoDEelt8 J/+MYn9Pvc1n+7gJXmj2EXYfctQWOQE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Thu2Lc5g; spf=pass (imf07.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718136451; a=rsa-sha256; cv=none; b=xxn0DYxDS0fpF1bV+5tXx15mEj5nglJ/WAh1z2t6Qoy3uX/AKqVSIyw7eKWxabixRcDGJT Z4IkSa9QOY2HFG7iTOXeRuvi8fj//F4SLP1fQZ2KCeh+t3XbTa96gwZoBhfCmy1R7FXX4X U1E3PzhTQ/3svoDB7lxMb617AWJH7Nc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 328A3611A8; Tue, 11 Jun 2024 20:07:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B9921C2BD10; Tue, 11 Jun 2024 20:07:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1718136449; bh=DG9vo/TGCvMC6IRGF/KFN1oVAg3uKyYRvrG//+CxZaU=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Thu2Lc5gQVhk9sw9DKVi+PFqf5BEYPlIHGic73ofQJ/f65R9OYtoAh8p5nGgW6f2g Prjd4WzfOw+X7iK4Aoeqj7B4R86dlrJbqAOZQp3hszmBs7d1vT/i52ufuzBCoqF98A NxfRYSXeRcrwBfQy701uL6t9cpzE6IEHcY3UAOAc= Date: Tue, 11 Jun 2024 13:07:29 -0700 From: Andrew Morton To: Matthew Wilcox 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: <20240611130729.d53cbcd1767f917b47540cca@linux-foundation.org> In-Reply-To: References: <20240611153216.2794513-1-abrestic@rivosinc.com> <8040793f-e9e9-4a2e-807c-afcb310a48f5@redhat.com> <20240611110622.8e9892e92618ddc36bca11b7@linux-foundation.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4065340008 X-Rspam-User: X-Rspamd-Server: rspam09 X-Stat-Signature: wyi1jk48drf5n76mjzogc83zw7ini4w1 X-HE-Tag: 1718136451-188101 X-HE-Meta: U2FsdGVkX1/RvXvBIWyl4gecOstInSFOjEG+xaAyKXrB1yIyPYvGSomf6MuxZhpHb2LCLTJ292fw7Yqwec5pHxBAd8BOQmLx2ZHUcDtsAxfgY11hjhqZPxJ2RDI8coxfaANMabRG/Z267cBEJIW6iaFxA9oJdh2NS+qFk+kJ6u8fMRipwKCose4YIK+D6A+iNlhV4mojULnuICLjCL81YTkmzCQut4Bw3M3/QW7b+/wBzg3gA6vfjwdAcqWK/e8XccX4FWu996fmK7mYl964GUVWfhR2qIEwcuShk8ZG1AhUHowqKRVInZURIgoa1M5Wa03anYuJplKDj2Ur8eJLBOWxeNUVnMpF/e9ZR/Q9qkVK8pNRrEF11otngcTGM3bbNN51WSzXyrOuBs5yDNLW09tD932QUL/TOQxYrI0fu+MXjDUGvwWFZ3jbqu6Yh/X7s0TUVK65JHPMIfToYx3gHnY8QULoBSd/bYexnYoK/KS0zUZ1Y21aRqLYDEJIST29BeDbsSH1c33rpgQFaUmsXNnVPCtiSYTnQHAju81l4O+BxhZK80R1U31CysGEDAKxGCEM2cGhuf9vnAp4lteHbWXVX9RGw3JIJ1mZi1rzXiB5sU+h5vxL6ok1VobP8vNam0CNmhdfwZPUuXVY5vC2cWpng2fnzQ8VzJr705w5tobZRORUQ/l0G4PXoz+69uhCDJrQxeFrWNNuDCw6GaNezG++8R0HqUvv26hMHQ280pWp/0Xfp2jQ2HM5ADPAxRbfi9ur+sLhLOLFrmWjHXn8hSN/900gTr0Jm+zIn3rm2BLy8q4qVNizAYYI16iEGDIv9wgbZOGlHXYZT1ED//rwAumjfmBg+OporC2UWD1VEaGS4WDtHgdIBaWbYQyoR2rstbscUM0BaQDZ6GInKaeWDkemG98Zt7ynMYjOGkDP9Paa16aVF12Ym+pcUCy6Jw+V07785XwyxA5NJK/nkzE hqPIbLUk sJNRJHRoT3V2VWpxpxjmZq+vR0/ndoI25GOVWtJ/SsY1+MsCn6WrD53MY3usUcNVoXzQQF8tCOd5xkXydrRZq5CvIjwFoBp+1kaXT9XPUIbmEMd/BOt2XNTSl/A9HFqNIKzki/zGIuAe8Moeepi7QKNnKwh2McvjTFlb5eNxNe1Hsx8tMFe+fV9ZAn6gcHquG5eABrv7djn4HxvNp/BGboczHVwAM9byJ+MOLePT0Rr4Xt1NtaWMkCStiN0bSDGYHHwUXrIcLvwyUnyOzCkterzMt4TyLRJiw9+MMLlXh2mzHxHoTjBTHYDF6Prmr7L/v0R+iH16Nc4ux8r1aLqwVz0Kg5xETJcSqD5DC2Aw1pQlpYYa2YcBWbyukI+JoiygdgN6SEOyCbfPqPHghtL9ZJk4mt/AZIYyM0Dm2 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, 11 Jun 2024 19:22:03 +0100 Matthew Wilcox wrote: > 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. OK, thanks, I pasted the above text and added the cc:stable. I didn't move it into the hotfixes queue - it's a non-trivial behavioral change and extra test time seems prudent(?).