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 21401C3DA4A for ; Mon, 19 Aug 2024 08:16:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A79556B0092; Mon, 19 Aug 2024 04:16:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A2A026B009C; Mon, 19 Aug 2024 04:16:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8CA766B009D; Mon, 19 Aug 2024 04:16:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 6935F6B0092 for ; Mon, 19 Aug 2024 04:16:38 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 1A75516108F for ; Mon, 19 Aug 2024 08:16:38 +0000 (UTC) X-FDA: 82468288476.18.B937D93 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by imf04.hostedemail.com (Postfix) with ESMTP id 2C5A84001E for ; Mon, 19 Aug 2024 08:16:35 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=gD030cV9; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of vdonnefort@google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=vdonnefort@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724055381; a=rsa-sha256; cv=none; b=uURDVvcLQCtDZZ5vG0XsC9TczaOiaVxHjJFxUa83d4sP3yMDVRY2YVZSxCrdPE9WR3AEUN BZMm285yR3+/rXaX7ttFfJdidtzWrCFrxXGyK6fncU2wZusBhPmSkw8ixARQXyAPaZnmKJ WAe4kl6crYGvTdZ38sLlBtM0LerWrkg= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=gD030cV9; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of vdonnefort@google.com designates 209.85.128.42 as permitted sender) smtp.mailfrom=vdonnefort@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724055381; 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=aHfO228DZNryni5G2SSxgcBG4xZ187dTZqHvUBwI148=; b=ZYZ4U9eNcNRaUtUVO+SuWazNJmo0r7LLXv/ULSYo4heWeoLHJqG0N+gmx9B1NPP/GK7p+a Q9MpcUQ2A/iLBeW9P/faazJPDwoWLO9JIW5W4W5iNk6qH51DesqpqTauzMFpV9YsqQ/v2f ZTTjq9z4UgITMEN39qTrXtlzq1YMgmI= Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4280ca0791bso32634925e9.1 for ; Mon, 19 Aug 2024 01:16:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1724055395; x=1724660195; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=aHfO228DZNryni5G2SSxgcBG4xZ187dTZqHvUBwI148=; b=gD030cV91VQim556aXydRgSH4btNGvtlksRakEnC4MdaUdP35124EZFPdSko99QgJ+ g5b+PqM2WysnlR0JRLXd2Qm/+/VFprL/ofFrcz1hSGPH78SgarlymAORdlDjYshX7JAg bqW3YQ/44E7MFrV+9NQMQl6pcvPoOe3nnW1X039wbrDPqVz/caUUwt7cLiDJk9T45ICc emaYJtDwm02F93ZM021f7UlFbpOV+IrBNMLeTbyTskpIjH9i7C0Auhi4qtf6fFXmVtq0 OOgik19QZtHB533o9NNGjF7+y4Y/ce3Ud0H8pSdXhjGeWAX4+Hnzs4PlfEK0iIYg8vns qdOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724055395; x=1724660195; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aHfO228DZNryni5G2SSxgcBG4xZ187dTZqHvUBwI148=; b=HAX0vinKminbRxbqR3vjtxNpD1nvw7NxZC9VUlAodTRAVd4HMh9YC87nNoRogeOg7n riaKzNWMJ+o/lN5YkHNePrpusR3lGeJgtdFIgy6mNGzCAVT/8D82oDGb5nhVJqGirN7C aFP7pMJLTQ8djDKWL2h94ZUpGeIr0adwfQ0c3L9uiPlaD93Yta6mSheSquDsfxZ4go2Z 1IYuZLDi2Y5mUl5lD+dxjkmdIzQs4eKAlDv9Zf/5DxdbyKJ380JZJ9r6HyvkFHjoGYtr XKriAyx9BZrednQQW8On4z5pl035m3FAsjMK1EJomKRpW/lwBR95Q5gwq3EEu7h21/MR 3F2w== X-Forwarded-Encrypted: i=1; AJvYcCW/x3auw/Y2nMug9yNwSu6DOQ+Cwz99YxS+fQ1hqrR1YX0XjIxEcedBhtD22lYoglkZvkQAz4FD2fob0Gg29zZcUYU= X-Gm-Message-State: AOJu0YyQCNaE3S2UHwHsfsp47poAALlC2COXVmk25Xym4JDNtGErAJhe YNv7thtXVz/KsPtQrVp6mTXxeBk3geenvT7VgIN311sIQGSAr2NMfxwCtPTQ0w== X-Google-Smtp-Source: AGHT+IFBd7V14kDw4QUauT5EDSPMLG3k1dEdle6s90msb/Z3KXxJ4G39D9HkdEp1kMIzWJw0caczAw== X-Received: by 2002:a05:600c:3143:b0:428:29d:4b59 with SMTP id 5b1f17b1804b1-429ed7c1e5dmr81417025e9.20.1724055394419; Mon, 19 Aug 2024 01:16:34 -0700 (PDT) Received: from google.com (203.75.199.104.bc.googleusercontent.com. [104.199.75.203]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3718983a57asm9833805f8f.2.2024.08.19.01.16.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Aug 2024 01:16:34 -0700 (PDT) Date: Mon, 19 Aug 2024 09:16:30 +0100 From: Vincent Donnefort To: Matthew Wilcox Cc: Andrew Morton , David Hildenbrand , Andrew Bresticker , linux-mm@kvack.org, linux-kernel@vger.kernel.org, maz@kernel.org, seanjc@google.com 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: X-Rspam-User: X-Rspamd-Queue-Id: 2C5A84001E X-Rspamd-Server: rspam01 X-Stat-Signature: sz4wqr4matstx5g4e4jk7agatjm1nj3r X-HE-Tag: 1724055395-304041 X-HE-Meta: U2FsdGVkX18/KOJ2MHzPkBNNl2yFjMc2iF7I/+PBt3NklYE4rwUCRBG0YSjqjnJRmQHiMAgfwNJ0lI7quGG6bW+pNznXJs3YNjl7C7ycgUpwx7ClOxoE/qPXFsfR4hnhTsWsZ04K95/ganFGpZ3BGe9d5XeTvm6TAp/0rFwztTmaqJJ88qv3VEaTqIWkEAv+bZiaE3V566NleVj8D7/n1P0Kwovk8YXKBxaE6EEDMp/UaHnfSebidae9sDvrPwk52eFgHvgGU1GW7hd7StC08DHg2AlLG5dwrIcoc8mnHsg8/jTqyQmjo2EX6iNLyToYheFuySeqmcZDxIfLRqTho8kJZ328Iz8gBw5heZsRPOlwAHMmS2N42EW24JrhPH6vr5HfESnkP5ApRgM5FvY2hrB6sfyIWJB65LFFYh1mjF5D56AOOJS50+Rd69C9JAp+TG0KSU+hYNAsNefAwfXxgpQYkYJqcT2vp+t2msxQRT10iiQlOzdj8+eM55d8ufV2jOhEnaKjUh3bYEFmHhoR9WZY0vYaz5+zOeYG/zJCZTCIGhsJf8mL0wy4yGf/IpIa2RSO3/B+sNgj7YDZfUq61MYxv3M8XSvFKEl9jNXaQeCos5zcKgSeJDDnLfvoDMs1HOpcrgRpC7+fwWs5B7NIIP4aBnk0q1aGFDCOwqdZUQ8gp1foRFih9l8PCRvwn3+a4UNy0i8TKh175Uzt9+w4ttIvG945+EOdwQ9Wg9YHKceyyK5Sbpd6bJ/w1tFlF0gd+p+R9hd2jK5x4E6AodIBtWZOwLZdu+X7haGzcFX5MV/DJMLDnQqfxDIK9+0MoHG/wxp5PlC/8IeqjzqPuPSTzHqvjF1Cl81E+7WFaluKzZg8N/NstI0HtP17H40JxtTpLn1wZr9jZqI6xlErDl6NliAq6Mgu17fxYB6g1fO0ALH1cOfu4A9PjvhSvImuVJHKlgw4ogEOfoDkzotnawy 805lfs4d 9Qnrtgj2fMcIUjvouXbD1ECNHt3us1pictjUbr8O1MWgcZNjW5v/S0wnFTtEzTVcZW+UA94qvxiRHBjXfCgGgRtmG8HBbJtB0RHpUBZGkp5AfOtD7QcFubDPAkstSdDpZmbi8nLuz7cnFqKtMIf+IzEDTCMUGeFWh6GefLjEORSCmWBRPoJuHjSp1hjIE0M8pll/5nXzcbzuUDMqILwzVkGHrlUaplOFkM6i7v4GnDsi3yocYJl7n7kyNrGWXOYGIun+0FaT0GdxmxePHYDuol2JaBt2xyl98MWWHkKBMHpUvplR6Z2c1saFFH+O/aWOqb52+Kb8XscwlQXNXKTDSpteGhyKBWJtA693bdMNsvha2pNbS6oeL19/jW9fP9MwZKgVaXswgYAcfJ//h/fvquVeM7NcgXua1wRoAQopJMiMo2dqifsIMsW+GrZJgh/MRMm/x2m4RGQx7v9ICSYG1Gkh9Jw== 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 07:22:03PM +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. Hi, I am reviving this thread after noticing this comment attached to the fix. If you intend to install PTE level mappings for faults that happen outside of the first 4KiB, I believe this will make THP support for KVM ineffective.