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 EE27CC369A8 for ; Fri, 11 Apr 2025 07:16:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8A33328017F; Fri, 11 Apr 2025 03:16:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8286B28017D; Fri, 11 Apr 2025 03:16:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A05B28017F; Fri, 11 Apr 2025 03:16:34 -0400 (EDT) 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 4C34C28017D for ; Fri, 11 Apr 2025 03:16:34 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B7D57141F74 for ; Fri, 11 Apr 2025 07:16:34 +0000 (UTC) X-FDA: 83320905108.07.645E160 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by imf17.hostedemail.com (Postfix) with ESMTP id B640740011 for ; Fri, 11 Apr 2025 07:16:32 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=G7rn+lFe; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of npiggin@gmail.com designates 209.85.214.178 as permitted sender) smtp.mailfrom=npiggin@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744355792; a=rsa-sha256; cv=none; b=3JG/lE7EoVVi4/ityMeI75BKoZmqhlTldGfnbPlUmWwc+6bxLSwiNoEbAASFKOJr8tVHZ0 PN/FOHVB7S/ddH5A7CwIsIuOslrw0ob5v5gpH6ojYl0zmEPqQd6bDscJrr3dv/KZrXKuUz 1mgyt6zdHGWMSMcqe3pTUIDHCTnuETo= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=G7rn+lFe; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of npiggin@gmail.com designates 209.85.214.178 as permitted sender) smtp.mailfrom=npiggin@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744355792; 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=8AZYV1raCKCE7T+GJKC63E8g42JVSDuGR93rMhn9HOQ=; b=Zz4yBAwB6bDzYjj/jyUNAbDeKTk2U5/wHe/vrvQqr0j6hNesh1QM64y1r+fXvxzt8+LJQL UuNs6WjXwne1XZ72Wl/9oIZyNRAfPGjo/dNlF6sceWe+d4U4Wi9y5LDoob3bk70e7vnKWj XZ24iI2kD4wiHK1TnCgq0dAIYrBDr2k= Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-225477548e1so16715485ad.0 for ; Fri, 11 Apr 2025 00:16:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744355791; x=1744960591; darn=kvack.org; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=8AZYV1raCKCE7T+GJKC63E8g42JVSDuGR93rMhn9HOQ=; b=G7rn+lFeG1dVRWF9Ga2wtlGvaJNMGPMVZseKG79uwo2DWHEN4X83CeCP+7p7PRhoF/ WyGCZ4bLHan4Ulm/pvDk4pYIPQRDaKZSFeiMaUDg9uIkIoH1pgrU65OMg652FzSZm06V EjBlrwui4tIKITJmgHQAJejMrNMyctwiAPJjt0f6FgjYDXv9rLIVbzLLWu+Upgba65ve fKVOyqwBuilLRoU5ims0JrO/MkFQNnj2WlGG994x8qjNyHkFEjwtlJaPvJ8NY2LnNQnR bdio1YBmiEDXnPAk2D8lijEfJFXn35Wp9eyFV092fFUkcMMjWhY6Gjvol/el9lG83B7Q eiWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744355791; x=1744960591; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=8AZYV1raCKCE7T+GJKC63E8g42JVSDuGR93rMhn9HOQ=; b=kEKTniI/n3FvWJ5SSLJ7g4hD4Yy412dratACbLu++a6PF+4qgkO4btSilZN+sxuFyw lmyQ9W071oDCcU4adYQJpSJU1k7HerPsZYBrejGVL33hg0kXWx+O0864R74AIPhWjVHe t/uhcbpKC+b0WX+gkIpwBuGNk/0AbKgpKX059xtXk19LSCbpeeUmuEJtVCOt3ZhzkV4U TEARH/hr9a8efkdQPE+nYUF31KyU3JsNWEqMFrpljfvRtBuGmNS5ylCUyIZe2rpk9sXH vyMhe9izhMC/UrC/sNwe/tveWnqwT4VaJD8G04cn9CqbhR8ea6vVxfucrBwaSBlN2LhB Va3A== X-Forwarded-Encrypted: i=1; AJvYcCUreKXoUIaLcJeOZBx8fAZHjEhSBMnYbHDB/iCiKG66e7BugQBe88tZKggPPFrtq79fk1K65nBhOQ==@kvack.org X-Gm-Message-State: AOJu0YzEWCeztj0VmZ+oGjLP0EuPuL3yZtsbJpspVo8kkW4ZQnjujIqb kcvzPy1XNopPw6+dIC4cwi16OHyz1zbjACotEQTVAFWz75MamCS8 X-Gm-Gg: ASbGncuB5Z/LPlEHBYLQ/GCU+atod7j8e6Lk5nSavdf2rUEy26KCxYXAgPPl6MdlJdC 4CEi9euOEhccEbOuezy303ap3UrknKHhVbdEJ8fU9ETXhPb82vccJfXIAcLxSl2eTANeYLWq64f xWp715P29GoSo49DTEqbrXn3/F27D+mPKLMdYUD477ysfX3cvK9ZJQ6CWNwNZ3dERk8x0j51qWW efZVSi6kw/NvPIvKK7RizTm7dcb6j6No1U6RW01vF/Y/UpMUt74o49PWD9bLeLLY6ygke3loEW8 /H4vzG3W7vapp21Y/6iFh/wOXnb9gUgV0g== X-Google-Smtp-Source: AGHT+IHEcvyi3TC9JEHNBrBd62VdoZ1tkH8a7fjLbKQXjCafKk3/popDo8PXG6WTmR/MWpJCm32MMg== X-Received: by 2002:a17:903:1447:b0:223:5c33:56a2 with SMTP id d9443c01a7336-22bea4bd57fmr30624525ad.28.1744355791439; Fri, 11 Apr 2025 00:16:31 -0700 (PDT) Received: from localhost ([220.253.99.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22ac7cb5047sm42114385ad.170.2025.04.11.00.16.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 11 Apr 2025 00:16:31 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Apr 2025 17:16:24 +1000 Message-Id: Cc: "Hugh Dickins" , "Guenter Roeck" , "Juergen Gross" , "Jeremy Fitzhardinge" , , , , , , , Subject: Re: [PATCH v1 4/4] mm: Allow detection of wrong arch_enter_lazy_mmu_mode() context From: "Nicholas Piggin" To: "Alexander Gordeev" , "Andrew Morton" , "Andrey Ryabinin" X-Mailer: aerc 0.19.0 References: <5204eaec309f454efcb5a799c9e0ed9da1dff971.1744037648.git.agordeev@linux.ibm.com> In-Reply-To: <5204eaec309f454efcb5a799c9e0ed9da1dff971.1744037648.git.agordeev@linux.ibm.com> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B640740011 X-Stat-Signature: ytrac5f6jqzn63em644h7kkz86534cse X-Rspam-User: X-HE-Tag: 1744355792-664118 X-HE-Meta: U2FsdGVkX180ogDeRpwpguJA/fMNudvxbT2dCWV3DDTowb6EkFc1BtnPwui5sRbJoCa2O7mpTFPQFLYMdCxllKXlVBeewF8UfYGWS8IQjMmY++TVpIQyRjbkzZaemmGCMgtx1q+nHtEb3PVildC0LF7IDFXsKKDHhrtWE8WRs5UNOMJWMyZaL4iOWNyPDNNzt+ktv6ZHDvqk8Fk++yQdjB/ydMhrydTR/XpoHwxzvuZD1O8y1h3jqRsN9cw5wJf1esUP9vwc0MAlRDRhp/m7AeQf5oYj0g8SCF4txV1xDQkEglmpfUTj4RVX3CcojXWh1rASa1IG6NqGt4NId44b0Jh9Ni+k3LJ3MAQRRlv5pKPb0ofQ5VsxMx0j5C4V6KaV53/8XURoWYvZERxHDDX3HcRVC/Q62WYq33Q/9kU73cf4AH3BUhPEbbVMm15Nz7L9pY/w+B0lQJaC+/8s8Xr4nPHwN/O2zQPHnagD5WcejEem9IcZARjXN90KTldIdlzXmODKQZ5z2UaC5mAtghDvwrGIm+FJGTFP6IQ5BNkPY8fBNZvtmFt9P/DwMbhUNOQs3DCFmTK69IHFoC46MUMTwfZrxt8jcCG81h3//UBDVX2kQSgeBiTkuc1k4jYH3IUQtvja0tQb0fhkm8m+/rVkuuSvJabNYigl8bq8/zNxrf436hiYwdacxvufyMOpYONnFGRuS1ud64d7e/pXdz71RJdk6oH8cdzi0nOcgrTVX4CtbgC785IviQYebqIDu9BQbasWCMhRAl37q3GjQc0ybzUxWQKTsQMb9NkXXSRA/WV+h59L5ib3NbknW/adHvmVTqhGE1oGjkttaC6Mpg/k6G496jMk3l6LQbKpwIaXuPQ7lpJ7kps4WAzItHJO4ss9uBg0OGIxLHemf6fg2/PFkTdzC3fq47yq0/5xMN6FvKBXzHd1l9qa/oZtuuQwVjmRiqajvyBQSD+ckrjZhX4 3S0g58z0 YmiIUUSp8T7xL+dTLmRj/qyMJm9/lLhqaIpsfThWDZ2nMGdXfnS9lMBGmRTVuET9eFxmi/EzLVpeOk1tXCsKx+pwXrqmhk/BaiQNnsR6hkeg09CrGJ9yR62RCbjJhmcyAlSm8D1KFFtLNVRx84PxCgSSRNpbbbvhLbEXBXtYduQ8GcWvNDBVvKfDC07J+YlGW8hVKAU4Qk3VNovRep/raJ/PucbW3zL2c/ICfHuZafmZjREwgWX2xNImPzSD6RT7p0NVevtW6Rzl+6OS2NSbo+Evwa8LRXoEo/qsBfGIqYas++zuLig+mj5mnh/y1TScdUYRltTPKzqAbYJquyqz1zPJD40jT/vEG6rCHmHySGY54zZd0pmT9Ctxa5v032RBssRQefvLd0uTVOZw440kr5hAS9lfhKHgIZAvucKFU52kHeOFzKyI9ofrVtb8jNwFK1ExuDTiS2lrJmCfkPFk8zX2S2aS279yTfMAwH+LnHMDgL8zOFFaHVuXnAUlFbXQ+U5+KEmQs03aQVUfPhISLZwtDKMsSwKLZkDn/NBNV2PYcBsje1ObVYW3Aql1byi0PlCTWB+2QyOVx0bxKf0jC/LQK/74HgZvGte43 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 Apr 8, 2025 at 1:11 AM AEST, Alexander Gordeev wrote: > The lazy MMU batching may be only be entered and left under the > protection of the page table locks for all page tables which may > be modified. Yet, there were cases arch_enter_lazy_mmu_mode() > was called without the locks taken, e.g. commit b9ef323ea168 > ("powerpc/64s: Disable preemption in hash lazy mmu mode"). > > Make default arch_enter|leave|flush_lazy_mmu_mode() callbacks > complain at least in case the preemption is enabled to detect > wrong contexts. > > Most platforms do not implement the callbacks, so to aovid a > performance impact allow the complaint when CONFIG_DEBUG_VM > option is enabled only. > > Signed-off-by: Alexander Gordeev This is a good debugging feature independent of how the fix is done. I would just warn once, since it's not a bug for the arch and could fire frequently if it fires at all. Reviewed-by: Nicholas Piggin > --- > include/linux/pgtable.h | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h > index e2b705c14945..959590bb66da 100644 > --- a/include/linux/pgtable.h > +++ b/include/linux/pgtable.h > @@ -232,9 +232,18 @@ static inline int pmd_dirty(pmd_t pmd) > * and the mode cannot be used in interrupt context. > */ > #ifndef __HAVE_ARCH_ENTER_LAZY_MMU_MODE > -#define arch_enter_lazy_mmu_mode() do {} while (0) > -#define arch_leave_lazy_mmu_mode() do {} while (0) > -#define arch_flush_lazy_mmu_mode() do {} while (0) > +static inline void arch_enter_lazy_mmu_mode(void) > +{ > + VM_WARN_ON(preemptible()); > +} > +static inline void arch_leave_lazy_mmu_mode(void) > +{ > + VM_WARN_ON(preemptible()); > +} > +static inline void arch_flush_lazy_mmu_mode(void) > +{ > + VM_WARN_ON(preemptible()); > +} > #endif > =20 > #ifndef pte_batch_hint