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 7AF77C27C75 for ; Tue, 11 Jun 2024 21:18:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D3A266B0088; Tue, 11 Jun 2024 17:18:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC2716B0099; Tue, 11 Jun 2024 17:18:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3C166B00AB; Tue, 11 Jun 2024 17:18:43 -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 93EE06B0088 for ; Tue, 11 Jun 2024 17:18:43 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2FB7F812DD for ; Tue, 11 Jun 2024 21:18:43 +0000 (UTC) X-FDA: 82219872126.16.E13C745 Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) by imf12.hostedemail.com (Postfix) with ESMTP id 6493B40004 for ; Tue, 11 Jun 2024 21:18:41 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=NuI7UxG0; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of hughd@google.com designates 209.85.210.47 as permitted sender) smtp.mailfrom=hughd@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718140721; 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=fvB+gfoJoXeVl+lhhEV3yEXvt6h862UlHHqZzX45oE4=; b=U9ZcL9tt2cNWQ57ewDfCWUEVVdKawLyX/sPL4p1ruGRzRevUUVgBhr3Db7fElCVknfN6oU SzO2pzJopDBfwI3V7a8tDi/TPGEL17ruvhWmFjEMQeS8s67e4jYcy6uuE7o8z9oMDo6w33 yax82ZEwoQ6L0vp7o9O5NyXPFwv5z7A= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=NuI7UxG0; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf12.hostedemail.com: domain of hughd@google.com designates 209.85.210.47 as permitted sender) smtp.mailfrom=hughd@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718140721; a=rsa-sha256; cv=none; b=VRaxK3TS9mRslVgeEcTvkY75b97swPi7brwiBEXff4z7ZTYOEOY6WBTXk5XYlIL6VpFJ6K /GTyLfaZHLCIiRIARiJijqf2JlgmGBM+kWvqx9rHbZJbHyi71tkXP3B103CDLv9ESvDIhR lfGtAdrzYW06daBj79X0uk1+0WoNqUk= Received: by mail-ot1-f47.google.com with SMTP id 46e09a7af769-6f9b213ebf9so124240a34.1 for ; Tue, 11 Jun 2024 14:18:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1718140720; x=1718745520; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=fvB+gfoJoXeVl+lhhEV3yEXvt6h862UlHHqZzX45oE4=; b=NuI7UxG0bz/9Vt6QXVdK3RN13ZYEjv9ELAI5ZL0UU+Rsyr2spd4sXZ/LFShnYIcs1n lkrVI09UFKz4XNlzRF8kThT0Pq4g102KTCHd/z/lGtSSDB1PHws2e+7nKXxJuhjDoaas +nXMRkU7XB3useBBkkageU7uljKd0+PU5QT5zP1rJFva7NAEyo+ZjeaGDIqsvmZGehKB xWwRMWKZImFOy8wFpwYlrR4fWmGyZYxHmmJB4DxYG75whfqa3jYT8GoYivzlXx891J5r koJfQ8vRB5WkGIs5m82vu0hkkjIjRzk04PUAmsCGFtzZj3TMChReb5ZdE7yfWUVjFBpP s1nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718140720; x=1718745520; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fvB+gfoJoXeVl+lhhEV3yEXvt6h862UlHHqZzX45oE4=; b=u3FZBCxL28158QIbLzTfudd0GXyhQZ2wOh+OkprxoXLHcRi6b654zeB1mNjzkKXCWF SSHG+3yrGwak/P5UShcEGjsZesuBJfbS9Kug0K88QOzoeUxm9Rcx+h27DPlPkh6R5LLK 4pmGyHb6EmEJ1ntmJ2GJ/h3Xjd2vlLzguOjsjki8Yza3GStWr9VlhIM6RUvL5t2TTSLB qshG5zGd72StHUY6zwoML8H7qWtKQk7asQ00/ftl3e/ItIGHLDSxCgYEyqxcY3HwIasG ODCRaPmf0JBZRx6S3K62v70ADTCOuyWMCKWSUpDJI+mjMKrceOMDfGbzfwUVHUQnrh3i z/4A== X-Forwarded-Encrypted: i=1; AJvYcCXwBj/coMc8wJtYrWFHU7z/bbpuJjvT3LemBaMCoqGms/EjtKmEHS4BjJp9MFdknOAw75eENI1bch3dPjapzcnpC4Q= X-Gm-Message-State: AOJu0Yw2uPfThcz5K+8sk3/yNz/RUMMRlR3h7Qmm+0HRDgzIgAQ6omcI cvI8x1lVbc4IebvFXUY1Yr+X8noqlTJ0uF764g7JD5PfWxevO78CqPv8yDcNqg== X-Google-Smtp-Source: AGHT+IHtI6HyTJGjUFNRinlcNeOITCqdXEyYKuxKDcRqQ0rmDDupDA0s7u85tzBm1kDjKvsJ+e+YQw== X-Received: by 2002:a9d:6e08:0:b0:6f9:afdc:8554 with SMTP id 46e09a7af769-6fa19a0d88cmr76471a34.15.1718140720107; Tue, 11 Jun 2024 14:18:40 -0700 (PDT) Received: from darker.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-6f9c7f4572csm769491a34.10.2024.06.11.14.18.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jun 2024 14:18:39 -0700 (PDT) Date: Tue, 11 Jun 2024 14:18:27 -0700 (PDT) From: Hugh Dickins To: Andrew Morton cc: Matthew Wilcox , 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() In-Reply-To: <20240611130729.d53cbcd1767f917b47540cca@linux-foundation.org> Message-ID: <1786b46a-ab24-6032-6a60-93b3e3870c7c@google.com> References: <20240611153216.2794513-1-abrestic@rivosinc.com> <8040793f-e9e9-4a2e-807c-afcb310a48f5@redhat.com> <20240611110622.8e9892e92618ddc36bca11b7@linux-foundation.org> <20240611130729.d53cbcd1767f917b47540cca@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 6493B40004 X-Stat-Signature: sde7s7iokgrjcbn5dfeouqw3tqspzr9t X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1718140721-482039 X-HE-Meta: U2FsdGVkX18A4YuglC6ZMmTlZ8lt/mldJ6a1zLTR5sU8G/ySaxFvO1X4D+eHxc1bWZwXZvgmjQlY3TDvasNlXMEBHXsiGcLla4EbgNEWheBJq/ikCxoxHxc2rKgYR6UodI5Xq+MNheor2WyjJC/DF9yGPCrSU+ACz6oxr1bIOIh5WtUyLcu3u/T9Kxx2gbjxlio3SoOY8xNaE0rZ8bGbWqDl5DGLt3ci5tfb/7+g9eo33vY6DawXD9uf8jSjXcMC0+EoUGJaDnZNK+PIjm7CtYP4dUvZ6ejwR8sDpUEsG3qmHf6Y5yh+DvNxKhmizX0mepu1VbkdKhtH+6Ffb/0r4S4BujTEelYMIsVKGN8C7l4XdGiSRPvnyN7WYK+o7MYuicaYcl8/gVMM628et3AB/NCOVlKHw5UMijGgVdirauKKh2oEJQA6MVmrgWHzhxCgU2QPRH9avl2SjPkkhMYty2bLL5I5B9QgZqzS9YWJRCQ3zS7VAn+k+KsSb+jmJMAJHFaRMzkbB9Sw4a1j9zF44kF7CNLkR6LEkTxUmwPIYNcdtp9XSyPXHPjv3uVhLBjpynUkxAaRNcDmcvkFLXMx+YIz64KBgPDOM0H/NVYPs6n3C443U90JUMnCXi5SN7SOz8joNNfhBDKhDRlxg2R5mJ/zb1GCWPtpHkOde+RVZpetcmwkcOl+ygZiOs11MEw0j5qGLKFPjoWth8lQVs1uwBqVftllFRAnXIayHk7pM7QgXwhevsNq1FksikQZ/zMKc3aGDuFHX500QW0XSBhdAprwCo8ifQF3LHqaY7BnvorxUfgIRcZNS4xp5OI93JcyCU+frR1hsPGI0t2EjBgMc7Zb5vbRB79byN58LXbpYmNKARZxSVhVKFgYk/HBr8OyNIkIJVsyXNUbmW5GuDbvO8pT0aOZLMRZkkoktAF1PKHGoH0FhCJfmBn8DHcZBEFZ7/J2TMyj2y1Br2QkA2N NfD3ES2J ZSMf4Cu74hrX+E0nFzRfVi6KsioZCOjmZGS9MyoFZAAaHUFwwzarRvVHGdW0FSYOh79JfPjfhJ8qQjoCmPuvHKaIU0BhNhKB3dpQKmC2dG5k4RnWYHrWpK8ZKvKKFX/3IHB2i6rwAg0a8v2qWB6qBPgYs8BtzCDp+OVVybfgzzdlNDfDkTk6cYNySIZmFTIwEyfVYfMmcLzi5hhrG7ZxkhfjcYPNZ8iDebf5vFifyZwemlNIDfoKhglX8FElTT4hAc0wwZtNzJRmnvZoD8X8AdoJmx3zmrtcu8lYTcLNwHn6XF3sFxlJjZlDzpEP5spqgo8VqCai2XXHi8Sh0kwP9C+iDxgKa6ZA+o319alR+Qk4ekn330U8PtVhnr+UMO+L4FsgABlMdrPqWVKTroHNbTkbeCd2hvbIMOpzbffFhEb9xPyWL16kGuPHFKxs3dQq8S6z2b+m6uRpfo9tj5lxXWOEaomBh80SSmvM27lp30lXSxEuzYHvLsaHOFkw4c+OqO4VIE6u+/W+/AMwzjO1EzIBBS4a9CvEOFL6v5mCxTdaPUsFlky3OU29/F/QxTkiLA7Ps 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, Andrew Morton wrote: > 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 Acked-by: Hugh Dickins > > > > > > 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. Yes please. My interest in this being that yesterday I discovered the large drop in ShmemPmdMapped between v6.7 and v6.8, bisected, and was testing overnight with a patch very much like this one of Andrew's. I'd been hoping to send mine today, but now no need. > > I didn't move it into the hotfixes queue - it's a non-trivial > behavioral change and extra test time seems prudent(?). It is certainly worth some test soak time, and the bug might have been masking other issues which may now emerge; but the fix is just reverting to the old pre-v6.8 behaviour. Thanks, Hugh