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 AAD09C3DA7F for ; Tue, 30 Jul 2024 20:44:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2A4906B00A3; Tue, 30 Jul 2024 16:44:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 22DD86B00A4; Tue, 30 Jul 2024 16:44:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0A76B6B00A5; Tue, 30 Jul 2024 16:44:15 -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 DF7126B00A3 for ; Tue, 30 Jul 2024 16:44:14 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A42871604C4 for ; Tue, 30 Jul 2024 20:44:14 +0000 (UTC) X-FDA: 82397596428.28.17D2CC0 Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) by imf27.hostedemail.com (Postfix) with ESMTP id DB0DB40005 for ; Tue, 30 Jul 2024 20:44:12 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="kz/AyGrI"; spf=pass (imf27.hostedemail.com: domain of jthoughton@google.com designates 209.85.160.172 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722372198; 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=zgyj+j3dt5UcJ0UQYMBi50Wse5pVU30lmwqJLm3OCeU=; b=Sb/dSqaSfEnk5R8XpEIDffB/G+2tXUU6hGmHLbgW5cKu68TcdM/jZjYNS2HZE6OsxPkwci COOmljoE+wRXZ281m/TATmMD0adnS+VxtHR9uPjtCQhQ/VBYN6SrAgqYMlWB5IBnJypOIE uubniEMh6Js963P6WTvFSgXPjkkuoLc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722372198; a=rsa-sha256; cv=none; b=uBLjBsIYN+ulzEgOozww2Xt8UYQO9IH3Q36w8pOPMXdjNUTqgx+H7kMt6itMl3XqdEYpeZ kjUlGVoo7UV7sQFc/3pKC7xPI1TXV9nkpq2Xq+96Y1bhjTmGXtUmA0++02PdhDOKZtY6ah doJBPDkcv58KtVS86Pp6n1186m8QD1M= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="kz/AyGrI"; spf=pass (imf27.hostedemail.com: domain of jthoughton@google.com designates 209.85.160.172 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qt1-f172.google.com with SMTP id d75a77b69052e-44fee2bfd28so88571cf.1 for ; Tue, 30 Jul 2024 13:44:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1722372252; x=1722977052; 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=zgyj+j3dt5UcJ0UQYMBi50Wse5pVU30lmwqJLm3OCeU=; b=kz/AyGrIVWYL6UEuiOYiXThotYHGwqO3X+tMtFYQFFhzNG2aX0n8DoZzopZUFBFf8O xGGCB1e1T4yl3lcUyEJ1hkWRT0/o/rjpCTqIsXdHKXplyzNxKfGjgevKmwawfqTfJ/Sv blucLjbrmGL7mOwJ4LBozbzlym412CtB1yzOrH4puWAnnG4NfbpDVJTV76/Jg1iJFI8A RebH0bAUW765/Zz0q30bWS0PJK3fcFd+8XU9dDSEGUjef0oJo9iEyYGIWcHhKgx0lPJh CW0BUD3nDLZfMIapCNijPKFZx4fOdO32h8T0E3suqhX9SorJM6uyrzRHYcPPJhUk/DbG VIgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722372252; x=1722977052; 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=zgyj+j3dt5UcJ0UQYMBi50Wse5pVU30lmwqJLm3OCeU=; b=TsiC+FFAxc4+JlHk0Rc/72icCQJjieh+6E6ViJHFVtAbfEJRYdscnfQKLSbl+kypar P0ExqUUedlDI3k3XBCw8US0/TaXjrKD/cSiu1MSzBS772P+VxZDCi2awKzfw46nJcO14 0YZcePSMWsAMGS7NwKULOGSqN+uoiT4o8O4zk7NyS+5H8VyWfl/+RRNkvSkiuVtbhvdG O8t8f76JxSiC89qZWPiRtXG+6fVAF+VJtxNZlFs3o51iLKVXFW8NfXY3BP+wFY53isAG z3nvf0w+6eSiVj900FyU/3Z14+eqUVvhgC8kcuwdqPN3mITeL5OBW+/1t1CBlqIwQGOF 64GQ== X-Forwarded-Encrypted: i=1; AJvYcCVq4rbvvm8h8uLdVeuGzJePa9XiMVcNZAPQhmllju+U6814Sawk9aYapAxjqobcscBOtcERzqYrS/af5zHD2eyI+8A= X-Gm-Message-State: AOJu0Yzs52JZLU/MNuoDXtEFeiCXPt+x5rERdTa8wexidCNu1trNrmTi s/aP7iZw5nc0W4kp2QY7Gjo3XqJ61Cc0Yc4+R7NTbk+2bdTcDZo0TcptJ91YVjwzePC+xqp3LcP TsNdCfLLkm+05N+tr1ZaFOxbt3EwF5DnWGL5x X-Google-Smtp-Source: AGHT+IGvHbr1exiYovMGLFSNWCtRnM+rnR0yYlx5wBYqZh6HIfByABr4k+MHsjm8/Eawp/JhwWBxyUFSDMDWvkd48Ng= X-Received: by 2002:a05:622a:1306:b0:447:e6c6:bd3 with SMTP id d75a77b69052e-4504317924emr99991cf.21.1722372251688; Tue, 30 Jul 2024 13:44:11 -0700 (PDT) MIME-Version: 1.0 References: <20240730200341.1642904-1-david@redhat.com> In-Reply-To: <20240730200341.1642904-1-david@redhat.com> From: James Houghton Date: Tue, 30 Jul 2024 13:43:35 -0700 Message-ID: Subject: Re: [PATCH v2] mm/hugetlb: fix hugetlb vs. core-mm PT locking To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, stable@vger.kernel.org, Peter Xu , Oscar Salvador , Muchun Song , Baolin Wang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: DB0DB40005 X-Stat-Signature: 563zzgted6m5d7bpzn7sagaz7o93c57b X-HE-Tag: 1722372252-32393 X-HE-Meta: U2FsdGVkX19ppXqxjZ3xTUIsOvKUlUPCyWoUuFkbOBTuifEawAW6Ufq/HEUFb4aZAyQZUdFlK/CFhIBi+Rt2P/KDuHTJusT69N+QVZzXQt3thfccTsvLNY62YOG7pPfKNDuvUgib8FLKXjT36dperdkpMsNTLgAmiLfBRyWWUWiMeMZAHX4st7s25x75bHtPnjSd5Zfq/zCH/35Wpygmq1gZt31eqUlvdqiaNNgBiKwe9tCtdGAoVnB9ldUTLl2hH9UV4Ap1UCIunKJbvKAkmQQuAOG9hUU8ZB8YYV/W+VbSmIL+bNH1CAk6mja7FJKw4p3ypU6/JDnXmuUusrg8+xmddKKMicK9bA45pjWupVgRvO8id0T0IzHsIaNwnCIMKV5GRGPGsTbz4HhiTePb4AwtWWTEPu83X3LgQWXt5Dxi7ykoj3NWWHE+C3qDO5MyTY5VzfaUE6o0/pmDrse0RQqRkCLBprFbgQuCPdDluf2y/uzU9y6PQ0kTAa8sy7Yg2u8kMPrYi6pLl1Hc1nxf/dpXVUPyGwfRqerHZ4i1drkVc2QrF4+LjZPF6qxsLKaXiqwdAFcFiSK9XuxWr/7F9TpHqkhTx3qkk1q8ubT15E9pyY7CgVHZ4AMIAywo5ljSfPkQqrRI3A8vrWuPJpGcb42/a0oH0zYtmDtLfemNgpNnwnuHe0ikzvqS186Ot3QjxhxLou/D1J0Xu+1JLENkm9KoD0VQ5bYPlb7ts+Uo84dKA5aYNkTB+/ZrtjjMSxQpxi+SWKGpMxjgN9Zlfoiq1lrtba2nlWizhrsznB87n1Tvs4Aq4wZtH/Yo6G9HbaWYN/w+M8f15+XgvuHYkXWkSrV4L0eCnngQ8ZGyCyf+cw1K80izQ2tl4DZpYvqI8i1+h1G5a3+xMt79qqZnUHT51QI63yhPvwyTsw08JCVsBh3RJgK1oqE0orj+dUB+OpHBnc++ZHjiBBpFNo11fdz 6sZN3G5z /hVY59/Fe+ojxmuFnoa/q57dI9Hz0tBWbYo8tsXfkLGargjhbubv2/UveYcnW1L3yW3XcKniVIbCzrsdbaCQ5MVaI1RlXnwnF4hEg2Ny4nZdp10yqOnq4Xj1h4qjjTabyqCzsLxknHllIAuDSlJg5T0ltP1wliypTyangjCe5t2EtmRE4ElYJlL2yEIBk6KnFSOyg X-Bogosity: Ham, tests=bogofilter, spamicity=0.000487, 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, Jul 30, 2024 at 1:03=E2=80=AFPM David Hildenbrand wrote: > diff --git a/include/linux/mm.h b/include/linux/mm.h > index b100df8cb5857..1b1f40ff00b7d 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -2926,6 +2926,12 @@ static inline spinlock_t *pte_lockptr(struct mm_st= ruct *mm, pmd_t *pmd) > return ptlock_ptr(page_ptdesc(pmd_page(*pmd))); > } > > +static inline spinlock_t *ptep_lockptr(struct mm_struct *mm, pte_t *pte) > +{ > + BUILD_BUG_ON(IS_ENABLED(CONFIG_HIGHPTE)); > + return ptlock_ptr(virt_to_ptdesc(pte)); Hi David, Small question: ptep_lockptr() does not handle the case where the size of the PTE table is larger than PAGE_SIZE, but pmd_lockptr() does. IIUC, for pte_lockptr() and ptep_lockptr() to return the same result in this case, ptep_lockptr() should be doing the masking that pmd_lockptr() is doing. Are you sure that you don't need to be doing it? (Or maybe I am misunderstanding something.) Thanks for the fix! > +} > + > static inline bool ptlock_init(struct ptdesc *ptdesc) > { > /* > @@ -2950,6 +2956,10 @@ static inline spinlock_t *pte_lockptr(struct mm_st= ruct *mm, pmd_t *pmd) > { > return &mm->page_table_lock; > } > +static inline spinlock_t *ptep_lockptr(struct mm_struct *mm, pte_t *pte) > +{ > + return &mm->page_table_lock; > +} > static inline void ptlock_cache_init(void) {} > static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; } > static inline void ptlock_free(struct ptdesc *ptdesc) {} > -- > 2.45.2 > >