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 D7C72C4167B for ; Wed, 6 Dec 2023 21:02:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3F7446B007D; Wed, 6 Dec 2023 16:02:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A8206B007E; Wed, 6 Dec 2023 16:02:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 26FB56B009C; Wed, 6 Dec 2023 16:02:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1464C6B007D for ; Wed, 6 Dec 2023 16:02:04 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id DA52C801D8 for ; Wed, 6 Dec 2023 21:02:03 +0000 (UTC) X-FDA: 81537615726.09.DE70439 Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by imf04.hostedemail.com (Postfix) with ESMTP id 135E040033 for ; Wed, 6 Dec 2023 21:02:00 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=T30t7x6Y; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of jthoughton@google.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=jthoughton@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701896521; 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=yifCF1VbJnELrR9rcLxOhPbVYwLPVD7PFjDkqvqydCg=; b=kzf9zlJTFfNRdcq75B7ROAbC1m0oTXE4/jLXn0AqHTvmHsFg5UolcJu/9kWA+MnoBgVs8h RI3qkqaWLiQbadpIr0aNk4xSfskQVEcaQZtldesD/iWUMbvv6ax0Md80J4TE6GakcZ5N/2 CI+4YZ7tl9TJwnCSjSImWX1ZptgUoo8= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=T30t7x6Y; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of jthoughton@google.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=jthoughton@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701896521; a=rsa-sha256; cv=none; b=G2KGzNaCkcFjby+uMvTFWICCX3Z+sa69tx6Zo7UDyRtfzqgyb3SMeqo7Wt16kOrASc2rEq 7m8UjMrpcby3XzsSOoTcd58a9ClT8ZGCHnI40kPpnSykBDuwe8xM0sGgetGk9NvxzAgtic OmRfFn1j9TqccM1pML5FZfYzaIE1vXw= Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-423f28ae2d0so11651cf.1 for ; Wed, 06 Dec 2023 13:02:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701896520; x=1702501320; 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=yifCF1VbJnELrR9rcLxOhPbVYwLPVD7PFjDkqvqydCg=; b=T30t7x6YyxMZAnj0ofedro0AiM/yN52RUOUA5AAQlVzFjZ38oj82wCe2GRGx/OPoW5 3QDFOzKJX2bNXa5HWXSxf+qPFBTq1OiCDqVZTQvcWAvWhjgwNQ5cGhT2xPJX8HUQapt8 lOnds3pPLTrBm4CVz5SKQOIASS0Uijc/2T+GLYSVQWa5EmOXH/gQYN2bpkQtbaxk6o04 4Bf1Jy8V6MmzWBeq2TMn/QEKkfsmPeRyASWxEhV/sOiN0YzOQV8a+/p432SHZFNcVuae afIFaNq5jBFUju5kmpi7srE0gWi6Cge/zXvaX6lPJTpUSPqmrqTmV0vNzyDEG7EIsj8S vtIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701896520; x=1702501320; 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=yifCF1VbJnELrR9rcLxOhPbVYwLPVD7PFjDkqvqydCg=; b=U0NbxWnXIGj7gRSZRdjVrs2BIYyQ79TVGFiyd7sfobtmQHWSW2wZgAp8wNFiM35r7P DHa8oICgd6o0BIeP1DmZ1c60h64aThSZqGA6IMy88pb0M8CAg8Vtj2u0bzEmNfP1u57X WoBXT/jo5ioPHpzIUx7I89iCLsehOks7Sb499Giy9447x+8sr7qBpbXa3338+kOxyVyg cizWDFDrw4NJ59c8QXnyRW0+HGcpCWWunlAyiCyImfA92sIpqrlYgzgpiz0lRBB8/OLw DfnWWX38ka22qwC53NjbyNWQtM7sR2mismSkqambVQXvrgKnHrShP3Rll++Tw50AAcrD a/Kw== X-Gm-Message-State: AOJu0YzxxzyP83uqYPaVv8qacQyW/EERg13QEMh/uqzcKMgpAvaFkdk/ AlHK5QptGvcKho2j5eYqCV2FJZGPfbEqnWV5PGbN+A== X-Google-Smtp-Source: AGHT+IGiFrc38Sccv4CjPvOU0r5lMittiKYasKUKiimaBSSAotEQ8KyvklYRY2AzbCNblYSa2sS7+oRyO2pSpnPgxy0= X-Received: by 2002:a05:622a:509:b0:423:d767:1486 with SMTP id l9-20020a05622a050900b00423d7671486mr451366qtx.28.1701896519956; Wed, 06 Dec 2023 13:01:59 -0800 (PST) MIME-Version: 1.0 References: <20231204172646.2541916-1-jthoughton@google.com> <70dcdad7-5952-48ce-a9b9-042cfea59a5d@arm.com> <54be0bd1-9397-4b7c-9b3c-6680c5d4c248@arm.com> In-Reply-To: <54be0bd1-9397-4b7c-9b3c-6680c5d4c248@arm.com> From: James Houghton Date: Wed, 6 Dec 2023 13:01:23 -0800 Message-ID: Subject: Re: [PATCH 0/2] arm64: hugetlb: Fix page fault loop for sw-dirty/hw-clean contiguous PTEs To: Ryan Roberts Cc: Steve Capper , Will Deacon , Andrew Morton , Mike Kravetz , Muchun Song , Anshuman Khandual , Catalin Marinas , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 135E040033 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: ngzmkpfpeo9o3f4hyqpyx1wbtxzdr7am X-HE-Tag: 1701896520-191917 X-HE-Meta: U2FsdGVkX19R+Iy4qi57nzwtbuOkmDQHfNRsqEt5MoHLBD7P02JiMqkcZ8l1ykQoAQOp9iKDNZzGojIrG6BAkfXBJUcD0YUezzOZ2ip7Xu4/UVwJRRaDvLZrRxu/1BNd5IzLThyq7M1uyIkxUmbfjt6z1ZkT3XS4RmFE+aiP0coZIsa68LvTKFfD8toL9o99JwwarxRR7TCe49fhakXCd+bnkMVVYPobdNucBjhk6KFTZFNvd7x0NPhHErA4T0WvaFNsPUrLRQUiv1KJNRKt0IAvaHB47ve1LPX4WZohPw/NcAE/m0AGmhrRWUbN8kvrFvKH/moXTOyHsxAZpfbwI3tMbv+jilQxLySrIApkGXj+5d+kdvaHWCbckrLKltRGxBSRm2PBQ4Huxz5eX2rq/oX3wk0TaYfmYSB/mPwfKZM+g3LTN0aIFS2SweJTcQ8CKIcnwZ+wE1+3GgmcdsS4Fv6cF7pjWL5urV5GnR1jjLE3vU9rcadPKYRKD9erLOuXDbzlZmQuygmBTuPPsGMNxL1ksbrO+s2Vh1hdPtAWzZMqwkEI6R14gk+3dxoYO+jGtyF18XLsaQuJhfG/dA+gYeU/+8+AK0fKR6CBAPlHxVnNaqAHr2r9olKaQ2bJaTh/csKxwc4V2R/Ot3ZQQQa/q0keCzPdmN19aP10lEfRNzck7z6sw/1Al0dvCBa7dtEFyB/ATdJam6wRtqi5H/PWqQZv+EshywLpA2pahaWosvtK4EA1WS/9/vVUexf16R2nFbgxAy45B3Nk44Da7QbOLbC/dbOo/YRfe4bJZdKq24SgTGKt6gsm+IKRcCdMrr5v4KG4BzRdnz2eXd5p+yOr4GLgpzV3n9bMX4gMnSjhqj/vlXxECWCbqEPklR+0Ib6vXt9xYbutKqNZeMwKkhF1mNN5VX9h377kEZtnyQ7BOTdWpb4NMG5iYAvxVtMJm8ooNBZ4Xn5NDtd+6aPEM9u lMiqYFKV BUAsfRV715nKSAdhIG4OZVFyiEkXjdaNExwaCDbSNj2jVfuen6HmZDGjqzNGOXWffreN1EkzvZR12Rw5pP4XOP9S1WpuDGxvISYe82LZjt5YPO2HuvuEAORGAxso9z3LjXMuGc0uI28+vbP3zg4ejlAw9lNPt23gyU/z+IPXplM878qJq+reDA67dYRjqWG1ifpfpgyZB0JFsdHx9MvMFuZbGrsETLwyW4nr9eGjIdaDd7NjKDvSy2Nb38hYuKxn37YuV24KWR2dViGDmiajtE9xQobIZPlECWV4o 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 Wed, Dec 6, 2023 at 2:24=E2=80=AFAM Ryan Roberts = wrote: > > On 05/12/2023 17:54, James Houghton wrote: > > On Tue, Dec 5, 2023 at 6:43=E2=80=AFAM Ryan Roberts wrote: > > Thanks for pointing this out. So (1) is definitely a bug. The second > > patch in this series makes it impossible to create such a PTE via > > pte_modify (by forcing sw-dirty PTEs to be hw-dirty as well). > > Yes; I think the second patch should be sufficient; I took a quick look a= t the > other helpers and I don't see anything else that could get the PTE to the > invalid state. > > I have a series that starts using the contpte bit for (multi-size) THP > opportunistically. This bug will affect that too I think. Your patch #2 w= ill fix > for both hugetlb and my series. I'd rather not apply an equivalent to you= r patch > #1 because its not quite as straightforward in my code path. But I'm pret= ty > confident that patch # is all that's needed here. There is no need to apply a patch #1-equivalent for multi-size THPs. :) If multi-size THP has the same problem as HugeTLB, patch #2 will fix it too. I don't think multi-size THP has the equivalent problem -- in fact, I'm not sure how multi-size THP keeps the PTE_DIRTY, PTE_WRITE (DBM), and the PTE_RDONLY bits in sync (they do need to be in-sync with each other when the contiguous bit is being used, right?). I included patch #1 (with cc:stable) because it's a more direct fix for HugeTLB that might be slightly easier to backport. If you think that patch #1 should be dropped and patch #2 should be backported, please let me know. Thanks for the review!