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 E4BFBD3ABF6 for ; Mon, 11 Nov 2024 21:21:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47ED88D0010; Mon, 11 Nov 2024 16:21:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 406778D0001; Mon, 11 Nov 2024 16:21:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 258BA8D0010; Mon, 11 Nov 2024 16:21:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0309C8D0001 for ; Mon, 11 Nov 2024 16:21:39 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AB49F161B31 for ; Mon, 11 Nov 2024 21:21:39 +0000 (UTC) X-FDA: 82775083062.17.CDEB347 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf04.hostedemail.com (Postfix) with ESMTP id EAF0640018 for ; Mon, 11 Nov 2024 21:20:45 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="a5yvu7E/"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of jannh@google.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=jannh@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731359922; a=rsa-sha256; cv=none; b=AQ2depCVKHG4k8HkBlKPVQ2g0E02PVnpCYT5ytYGRRdXwUgIjVyPX7O/R1BdIaRpGisGiS 4gt8pUc5syc7ytisjxx8KewuKh+EImxOs9yGy5LWqSeEbPdZ0W6JCr62WykWoEq5vu52AO X17Fw/0AJR6nCJAcQceKYbME6ij2YqE= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="a5yvu7E/"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of jannh@google.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=jannh@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731359922; 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=TLnHLRpX4FgJDKaQVlTjZrusIwYcyb5vNTLCS3vgVJc=; b=O+GOPAawMntdfzDG34MKSbfyDnVFVbpvm4qXGTg7vjTbJa6Dr0oSPj2Qb82n9qDtFeQmoT j4Q533Q+s+vc8tv4JR02/LgWYEtxIXzKLyz08vajSpE4FTYm5r+xHK5HXjjYElmnIvw+ti XXdtJd6pOVkmOX4mOoTkeob6nJy663k= Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-539e617ef81so700e87.1 for ; Mon, 11 Nov 2024 13:21:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1731360096; x=1731964896; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TLnHLRpX4FgJDKaQVlTjZrusIwYcyb5vNTLCS3vgVJc=; b=a5yvu7E/svMNA7jrKvuWlg3uIQvTmJviZgFE38zrT9AD6DR3Qukhn/SqXDa9kQStTa ZKdKaZzvCPvpiEEytT+x1w2YfqRei60PdMWkQHjwmxPssSBw6tkYZKWxrAzX9sCTggQL 8Y5D/yI7mgaR2aKhyG9+lrKgYzxK3gWQjSLOtX2W7/gdM3PcUR4YT6VJOIQjN9lODu/z DNcMJpq7n8APWvByGz4vjfuGEmY9PYBk9cPLOweqqi4pz4jXSqF/6yJzCkZqsI6D0P0D 90QTiaVWcEFDAbjaRyD5B7+g8GEp0hgbyc4K32nwMz2HR1YuDp6N7yHlQCUzIW4w79Of XRfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731360096; x=1731964896; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TLnHLRpX4FgJDKaQVlTjZrusIwYcyb5vNTLCS3vgVJc=; b=uuCk6dsVNL6g3bMV4HIg9gbAwEuzw/e/vVQ+qYxLhC2ACZlyJFX7M07RMbfFSc9+J9 KEGin5BGVwRlWpcNDX3D2U1pmTjdzdBRA1FWT+1VVSGeJzzmwlzkCda6QeChmgvQPDdv VmczFZXxMqP1vK7SKlg+C3HrGFatHC5BT98BlErwQb4ltLcIptnqJnrkU8/4Ypl+tvbx TwHoXcPkSsKv/UI8sKwgfOw+NaZHZszXKY5D5WchRebyaqqWkIecCyTUncDiJvl+F/U+ oMpc0yPPKbA5zc5wdl3Emoe/t6LJOgd9pG+4iVGWheh6iHgSc6RYdy6qVD8KhE0HvEz1 IS1w== X-Forwarded-Encrypted: i=1; AJvYcCXDAKbOh55todCFcsQYnCbvg/98hQeXap4iyjZS1qaPzPWhQGfAbEzwbbcq9PgaPfk/yICyk8saQQ==@kvack.org X-Gm-Message-State: AOJu0YwtlBsn5wXEhp/zLqzWL/c0n3sn99kj7DOn2p5zJmz9XgXaTVyl AeE7fZC0j+J5wEC/EPEq9yw1/8XkJv50xufYAg9/IMZ7MDNx/rN9oia1OfhBwZox/NppoiRfmqu lz9+sYnSJAq7LrPyn9H0dYt9Kzaq2LQzsvb0G X-Gm-Gg: ASbGnct6XYFZTivbCTSV4HF6Qx+oEYh67jMS2Ib/mMDVVeQDwwir8+9Ls3B/8oGx1HZ IryumUfe12q8mV8FRAGlnuAw1oostkgUF5Y652zHmOoc4wgv7tWRaNQYBog== X-Google-Smtp-Source: AGHT+IFox3Wq6T2Q1LkJY3chOYmzivx2kH9F9FcDQQB+5OTyAW6yTDkFUkoBaDF4bv6wxemMWtOFwRRbrsjFXYyZSpM= X-Received: by 2002:a05:6512:10d3:b0:536:88d0:420d with SMTP id 2adb3069b0e04-53d99ee6dd5mr105722e87.6.1731360095424; Mon, 11 Nov 2024 13:21:35 -0800 (PST) MIME-Version: 1.0 References: <20240812181225.1360970-1-peterx@redhat.com> In-Reply-To: <20240812181225.1360970-1-peterx@redhat.com> From: Jann Horn Date: Mon, 11 Nov 2024 22:20:59 +0100 Message-ID: Subject: Re: [PATCH v5 0/7] mm/mprotect: Fix dax puds To: Peter Xu Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, "Kirill A . Shutemov" , Nicholas Piggin , David Hildenbrand , Matthew Wilcox , Andrew Morton , James Houghton , Huang Ying , "Aneesh Kumar K . V" , Vlastimil Babka , Rick P Edgecombe , Hugh Dickins , Borislav Petkov , Christophe Leroy , Michael Ellerman , Rik van Riel , Dan Williams , Mel Gorman , x86@kernel.org, Ingo Molnar , linuxppc-dev@lists.ozlabs.org, Dave Hansen , Dave Jiang , Oscar Salvador , Thomas Gleixner Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: gpeicfan6a8bhqrzuf3gumbfts4xe94m X-Rspamd-Queue-Id: EAF0640018 X-Rspamd-Server: rspam08 X-Rspam-User: X-HE-Tag: 1731360045-60502 X-HE-Meta: U2FsdGVkX1+TB7bYHBpjZ/8GVusENd7lZ33R81BgIeCijyfcrCYe1Jpa6NrWzkwqNkDDrmLZsRo0xx0fcCi52DJUmg5c4ZOlx691otFg8CafwxQ/dedQHrz14nWq9sn6lorQiVHwCd4yrMYzM602VAhMv0fW8YGIZuLDITMFHoUp9tGk58RA/egE6RrDjaO1NY8KxGPSxAWljZc0heW4zxZqjPaipMdZ6QMg5EOQWBo5+/Bgdsh+HGNkOfuYYin/mZ+lerMPHBkxVM5hLw8Lb8NW8bJrg6/KDeUPK21W/yMOFqu3lvvXeFA+prgQK0AUQV0A67qUsTbQ6YbRbccVga+0qs7I6gbaKy9exS4+4heT2OQe2PZEESskywDwuYuIXdesvttlSqcO+AqTXnshoLLm55/Senvly2gfb+NICU4MPkn9RROmey3CHB+qV21XHNrzk+haAbVjmkg9szM3ijTmcUT6xFfwF3c0VvKL0se+1jVRpCOm6H5NgZeW1NOxg2qBZVo+muxhpA6UwQ4FDSZQbCrv5Ca78NF5HZoEir08mlpOhcw7Y1+IRlzGBB+gRH87hEQu4VRGqcFKKW7zCoiFY5eauEEwcl1Nf4CK5LgnrfC7iJ2zxj0v1MtZZmbDFDJuYOMTfg4NsDBV5VJPRmG6Z4TNUS9viMMVmST9qwBcTATpkkrUPgDUfMAmbJOr7XT30vUu/nTmtzlHmfCOBQHrUrGlk1TkQn+kQeN0wP5jouaJ/ziQ5PpJqD9YOSQ//7UJ8ZaB5UcVSRrxPEWgo2scvW/KY33iWt+dOjED1JsD2m956QonbBiZ+V3LYHQDwm/5UcOqTLQAHlsGSpkE4hklm0wn6dL/PbgKhI1roz83rMhTIPXmAOFeuEic4xsumRqEFRLWijmHaA7H9XKizW2kJ+0pMGYLg1AAr3nvpqO69dmfoMqg7Ny7J/CVNttqtVr0vwHLwRe/JY4Fk1E 9mk5gW9I taI9Givkq6z1w6n23QjeR5eqW6vih8X9UGqZI4tHOJu2p4DppKzlAmjK6KfCafA44Tu06ogat5nVcxfz0NW8/STCSWN1tOv7lWtP2FhMtTrgOie/dsZutWDSwFUdScOmSJxkQPg1pr2TS4Y4RF9UlF6SZY0chy38/1cXs3xbV/w7X22PX1baSmvXNVVczkrXzjPDzj3Jn8G3YezZ5WXqyd7Nmk9euAhBmFCBB 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 Mon, Aug 12, 2024 at 8:12=E2=80=AFPM Peter Xu wrote: > Dax supports pud pages for a while, but mprotect on puds was missing sinc= e > the start. This series tries to fix that by providing pud handling in > mprotect(). The goal is to add more types of pud mappings like hugetlb o= r > pfnmaps. This series paves way for it by fixing known pud entries. Do people actually use hardware where they can use PUD THP mappings for DAX? I thought that was just some esoteric feature that isn't actually usable on almost any system. Was I wrong about that? I think another example that probably doesn't play entirely nice with PUD THP mappings is mremap()'s move_page_tables(). If dax_get_unmapped_area() allows creating a VMA at an unaligned start address (which I think it does?), move_page_tables() can probably end up copying from an aligned address mapped with a huge PUD entry to an unaligned address that needs to be mapped at the PTE level, and I think that will probably cause it to call into get_old_pmd() while a huge PUD entry is still present, which will probably get us a pud_bad() error or such?