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 BFD0FE77188 for ; Sat, 28 Dec 2024 06:36:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AA4A96B007B; Sat, 28 Dec 2024 01:36:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A2E116B0082; Sat, 28 Dec 2024 01:36:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A78B6B0083; Sat, 28 Dec 2024 01:36:36 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 68FBE6B007B for ; Sat, 28 Dec 2024 01:36:36 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C13081C6855 for ; Sat, 28 Dec 2024 06:36:35 +0000 (UTC) X-FDA: 82943407722.21.1F6A9C2 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by imf10.hostedemail.com (Postfix) with ESMTP id 0F828C0016 for ; Sat, 28 Dec 2024 06:36:13 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=KZgYzfFg; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf10.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.178 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735367752; a=rsa-sha256; cv=none; b=5VKLt7hBY6qF59UrI5w5v/BTETeNl1Y3dbc4Kicm1YZuJYCJa5nKkMve5qPj/SuaFB+cNK pVivCGF208A+IaNCkNidl+YEh6Q1JPKZzr3p95209hLL3vZMXu6kSDkEq1FVjGQZYo/UIh g2PXyS65su6emtHQGQqumg8JvCphCx0= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=KZgYzfFg; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf10.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.178 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735367752; 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=xz9+aZKFL34BZ+QKJapn5mhTQ8zZC8UnFG8XP+zHLMo=; b=Krv+RNsxhxocdVhn6Ubtc9IoHkRg1pzqGn65QqQadMbYjkkgEBI9sAiXVObDXEvGE3K3ZV Fdw8kS9NJ8XFMKxSuG1saWqgolfXinRJx9ls2tniMgREsB1eAtMiDV5KQME/YSTFSbSqYT xzm/C7/oICMvZFJOl4q1Du+GpNoDKDM= Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-218c8aca5f1so117097545ad.0 for ; Fri, 27 Dec 2024 22:36:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1735367791; x=1735972591; darn=kvack.org; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=xz9+aZKFL34BZ+QKJapn5mhTQ8zZC8UnFG8XP+zHLMo=; b=KZgYzfFgdCdgcinaDpZevGSq9JxQoMmqFitQ1FoVwYzKvZwmy437W2r0BZv+8BjO1W 36XDJLHS+5h7aP2vif0+Z+lxtkCluK90ZnWeWEJjoRUMQvy+SiTeQixcMQne1gzGbiC0 8BoScfw+1M4Rrhl2kZ9RWUCwAgu/GAbCdbvG4T8tHtfeyHSyKKeqDBwKlJz0BLEDrg3H vTqMNpbyzzWqUkDQ6uSjThJkZm7i9lZX92aOduZLIjk1nA8N+Mh8aJqs88sz65xvIgHd qxxmHdkGXaeAz4wC1ww3eNfNUoa490VwIkT2cgzSoMLzAYnxhAWzDv/cdsI6EDXNYgCH X+xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735367791; x=1735972591; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xz9+aZKFL34BZ+QKJapn5mhTQ8zZC8UnFG8XP+zHLMo=; b=hl4Nf/wQyitsuIIK1iQUvuBGLLG32DF4nFLcowWat3OaYdMhXSMnulO7Ui8hDa4MKz HGyz/jjA0EP0Dj46JSddumEVF68hfv/A0JgtHTk/s5FmGflEAwnftPz90iS+ADOQS1Yd VRUs44NJN2ny0KthXjLntUhEbSN5YjihkKoOGcpNRtqqEsc/e8fcIyoI249Yl2IxjuZi /2W/FGoy10E/bzJAVoWBJIbo+2vCW8eZ2nGSLOvCEaap3Ic8BTPVcYB2eQRNl0vMA+BT CWCmfIAwgv2wmndZw4U6Xm9YnOxHOvujcHB4g3StqVr5+uTRIczwQ54Yd8hQ9W8jFI3L 4mmA== X-Forwarded-Encrypted: i=1; AJvYcCUpwXPOvzXUeCxDHPkYrPdqE1PlUupeAwi0UREqrXYNMX+gTI7Lt1AUJOOi9ra7SNwc1ADRirQsdQ==@kvack.org X-Gm-Message-State: AOJu0YwLkv51A9FU/+zeXc23dSEJMN8ebrtK2CJLWc9D2MpcUehoQe09 aPjqvEtgS1SGZVCysj8lB5f5EVv2pkJOxP3+zs7mOwtsSZJ1OluLI2H5aIiaHnY= X-Gm-Gg: ASbGncvRDIVv8cXEAhka+9qZx+x70HJJJWKYhxaZxjZtV/2VnhGoDe1wDbiLRmh4w7E AsUDjG0T/qV+U11NQxUhpG0w1SK61MuzOEzWL6Gqb/Olz9K9xH4YQOJLupGpNEb/3XPYiPi9oLe FPy4iAR///EMPa0q+SzU62miMZRkjvNYx0bPlLpalJNLr9dLxKI385rKy2+Xw2pmkYp9OAowPRq 88HsnYrrq9DbQj4hDNRJqVRLTN/b6moUwLFxUel7/XqSJM91BB2Hm6SnGFfMAiMt89Gwf/zxC8Q VKproHL1RaTSBpq5ScElRxBHuZuWx6/Lcj4hevaCpABasSnRwMKvbiM= X-Google-Smtp-Source: AGHT+IHJr5/cBm7VE4sKmfeyqyU+nR3KXMBrwpgTBQUiz/94ds3IGaVh/bhouU9p0WQ7mj1Jxu9Qtg== X-Received: by 2002:a17:902:f682:b0:215:f1c2:fcc4 with SMTP id d9443c01a7336-219e6f1480cmr399252455ad.41.1735367791634; Fri, 27 Dec 2024 22:36:31 -0800 (PST) Received: from ?IPV6:2409:8a28:f44:d7c4:e49d:ee0a:5f86:d7bd? ([2409:8a28:f44:d7c4:e49d:ee0a:5f86:d7bd]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc97182dsm144536075ad.82.2024.12.27.22.36.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 27 Dec 2024 22:36:31 -0800 (PST) Message-ID: <2434dfdf-d4a0-4f81-9b65-51be86487fd2@bytedance.com> Date: Sat, 28 Dec 2024 14:36:06 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 02/17] riscv: mm: Skip pgtable level check in {pud,p4d}_alloc_one To: Palmer Dabbelt Cc: peterz@infradead.org, agordeev@linux.ibm.com, kevin.brodsky@arm.com, tglx@linutronix.de, david@redhat.com, jannh@google.com, hughd@google.com, yuzhao@google.com, willy@infradead.org, muchun.song@linux.dev, vbabka@kernel.org, lorenzo.stoakes@oracle.com, akpm@linux-foundation.org, rientjes@google.com, vishal.moola@gmail.com, Arnd Bergmann , Will Deacon , aneesh.kumar@kernel.org, npiggin@gmail.com, dave.hansen@linux.intel.com, rppt@kernel.org, ryan.roberts@arm.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-arch@vger.kernel.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-sh@vger.kernel.org, linux-um@lists.infradead.org References: From: Qi Zheng Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 0F828C0016 X-Stat-Signature: w1dt6ngri8efkotz5zdoskjct6uuc8az X-Rspam-User: X-HE-Tag: 1735367773-536468 X-HE-Meta: U2FsdGVkX19NOObXQjuIdT+hevH9c5JjRUPm0uTUf7lqr/oByTqR0w1cETAVd0zsofK+5a+COCU9DPPsNQpCoyOVANV/09iWmoD8QTbLIOwAKf6N8IV1cvaMPwTXWVAXzvjjDNs5n7sF9ySZgRXbwpaIajlrhoa4Gz0AkpQLChE7+bPrhPbxcpV/YughcY/fYLnzYK1ibpSIYjPJY66pBHzOStKD1Xsl3YlaYQVCoBiyMvYp72YYPQ0ZpRr3OlD55zJeZHSW01bvHDU0zesZPj24qL4Qy7wxxWxlbqujkLPS5rFfP2OWgDVu6l13/JCg/CH4zVZti6iH37nQZVVUMIojyOahPeHM8Guj6Fuj+rCjvHWmZo0exk/e43x25rnoiqE7lkQ/Bu618sV/Py/3E38dmc25AFmcIugWM6VEVpxUzEWOLliBH1yAQ0rBOui39ImFchhgsmfZrV9WtOeH+V7MtnTOoKOq+IBMOATCjljzxpOJ+P3aPdvCZbLBqaj0uXeH7ApTLTS8zwKn1m4aU1dIY3vY/orAjgv8rTnZn25wSnoU+WMYnIIX/yPKRIMLWFpY8/MCG8SOFdQ6v0D3BXvOBrq5/WkcgM5WL/uRjxBps2qHQgaknuKXxf+d+xOf/Aa7GycD73nlFkVHliJGm8TD6lcWm6G21nxqZwJb3XArbJD/0lJuQ5c5dwbD18R08VmArhA22/HmLL6exCRw1RYt1vmthxDAtQhqcQvVQz4CzQpnS3vBnFd1gLHLY/NOEXHYJZcgQ32vZMAYKC935jk2k9A9SlRlSxxCm+7vqoTHPKX7gICYGhAAzGGaz5QRF42CYEMGc5AojOpbsb+nK/6mIACsM26FaxBk4bjg2JXL11VgQ3UELySy+DnyMPx9VDvxiKIi8B7RdSlBmHMTMwc8OZuPtppkYJeDjs3ALN/D9/v8RC4oyV3iIPDQjnGeNG1PGO5rBXJHP8QCWva zW8ohz2q E6/TF7S0vbOseXsKHG4i8q++wsGcqXQ+MaOHFOAngbbpBfbv5oiiM5vGhBt6B5l68yVMWO6BvbyqmowiSOAss5nP7g9abkP8F5Ftb7gyex0gh54jn+jxKgYwBLWpsI4AYRTPk++ANLtfqaOnYW6Dsc3S0aemCtOvO+Rpi622aM9swKupOzH4V2z137gMMk+WwZaNrQBNz1dsR4Zm6F65Z3MEUda8yMdl8iOfPriHibq+mxdu2sNbiRNt/ZNOgV+LCHBr+dutYeliFJjZrZuUnbTVoUYTYJsf487MVVsKdQfg35CCF3TItuZ5OTyxaAak9YPuhucWYuNqvtlNKtSH3Qf0Ffl/82WR7iMF1fYVuZCKt0WYUbCVDnnSL1NLeW1fdT6BNYEBkyqYi1MbDlPSKNe+RkYOuEFC0CiVuKl4Gj44Byp6+W2N42Vd2RPEKJ4pqtwiWbbZ2RqcBkvWQzd2ha3j0krjJDFlak8Z7Pq6kZVbua3BZ7fgVrb4I9PVOowQYQ13AOfxUol6WyidDOOInwscrYpSc7cvdHzHlrZtN1LPl/KvFWd7S44eo1jvsu/KoHtK4YhrdGfq3Mzy/E/ysb6cAs9JiCvXb3KSqjMR87Faqc+V5F+hjHi1uLyGlgRC0aqqQ6hzcGaB2Cvw9Exp0yam05Q== 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: Hi Palmer, On 2024/12/28 00:40, Palmer Dabbelt wrote: > On Mon, 23 Dec 2024 01:40:48 PST (-0800), zhengqi.arch@bytedance.com wrote: >> From: Kevin Brodsky >> >> {pmd,pud,p4d}_alloc_one() is never called if the corresponding page >> table level is folded, as {pmd,pud,p4d}_alloc() already does the >> required check. We can therefore remove the runtime page table level >> checks in {pud,p4d}_alloc_one. The PUD helper becomes equivalent to >> the generic version, so we remove it altogether. >> >> This is consistent with the way arm64 and x86 handle this situation >> (runtime check in p4d_free() only). >> >> Signed-off-by: Kevin Brodsky >> Acked-by: Dave Hansen >> Signed-off-by: Qi Zheng >> --- >>  arch/riscv/include/asm/pgalloc.h | 22 ++++------------------ >>  1 file changed, 4 insertions(+), 18 deletions(-) >> >> diff --git a/arch/riscv/include/asm/pgalloc.h >> b/arch/riscv/include/asm/pgalloc.h >> index f52264304f772..8ad0bbe838a24 100644 >> --- a/arch/riscv/include/asm/pgalloc.h >> +++ b/arch/riscv/include/asm/pgalloc.h >> @@ -12,7 +12,6 @@ >>  #include >> >>  #ifdef CONFIG_MMU >> -#define __HAVE_ARCH_PUD_ALLOC_ONE >>  #define __HAVE_ARCH_PUD_FREE >>  #include >> >> @@ -88,15 +87,6 @@ static inline void pgd_populate_safe(struct >> mm_struct *mm, pgd_t *pgd, >>      } >>  } >> >> -#define pud_alloc_one pud_alloc_one >> -static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned >> long addr) >> -{ >> -    if (pgtable_l4_enabled) >> -        return __pud_alloc_one(mm, addr); >> - >> -    return NULL; >> -} >> - >>  #define pud_free pud_free >>  static inline void pud_free(struct mm_struct *mm, pud_t *pud) >>  { >> @@ -118,15 +108,11 @@ static inline void __pud_free_tlb(struct >> mmu_gather *tlb, pud_t *pud, >>  #define p4d_alloc_one p4d_alloc_one >>  static inline p4d_t *p4d_alloc_one(struct mm_struct *mm, unsigned >> long addr) >>  { >> -    if (pgtable_l5_enabled) { >> -        gfp_t gfp = GFP_PGTABLE_USER; >> - >> -        if (mm == &init_mm) >> -            gfp = GFP_PGTABLE_KERNEL; >> -        return (p4d_t *)get_zeroed_page(gfp); >> -    } >> +    gfp_t gfp = GFP_PGTABLE_USER; >> >> -    return NULL; >> +    if (mm == &init_mm) >> +        gfp = GFP_PGTABLE_KERNEL; >> +    return (p4d_t *)get_zeroed_page(gfp); >>  } >> >>  static inline void __p4d_free(struct mm_struct *mm, p4d_t *p4d) > > Acked-by: Palmer Dabbelt Thank you for reviewing the patch! > > Are you trying to keep these together, or do you want me to try and pick > up the RISC-V bits on their own? I prefer to keep them together because later patches depend on this one. And this patch series has been merged into mm-unstable branch. Thanks!