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 29ABCCCA479 for ; Mon, 4 Jul 2022 10:29:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5DDBA6B0072; Mon, 4 Jul 2022 06:29:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 58D6A6B0073; Mon, 4 Jul 2022 06:29:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 455D46B0074; Mon, 4 Jul 2022 06:29:42 -0400 (EDT) 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 3841C6B0072 for ; Mon, 4 Jul 2022 06:29:42 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay12.hostedemail.com (Postfix) with ESMTP id 018571203F8 for ; Mon, 4 Jul 2022 10:29:41 +0000 (UTC) X-FDA: 79649046204.26.9D339D0 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf13.hostedemail.com (Postfix) with ESMTP id 08D4420006 for ; Mon, 4 Jul 2022 10:29:40 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 785AEB80E8A for ; Mon, 4 Jul 2022 10:29:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACA32C341D7 for ; Mon, 4 Jul 2022 10:29:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1656930577; bh=S1U7c4vumgaGxKIy+Le6U140pOZn3tAuCvMMwQCWlN8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=IZwvcqpOF372czI8gtJbB/SdCPkAimnJnkhBW/En4r1NZrW0u2J1+WHMwoUIu+wRU wguCC2iT/oy0oRQ1ii2t/CWWWKkHT57+4BArh3EDutEZMnyVCRPY00KRRfMQQUAYfX qZQMYBk0etV8ZOaN5iy1R5fxXvu4nayOuJEjCWOO7uOEg9eyp7ebCPkLXVQyYWEQ+E Z7yxB0B8Acw5gw6xlxYGCOk6ZRqEc9wpMfy2e4QQBeunLjA6QR+wQ+uAQYE4zFgrE2 eqcM8lkUPX7Gykmyv77q5hBMcUWwCursu9QZ7OgG85O4u86lONwQ8TALs1vJWwcImb m9Gt2xlVx7XSQ== Received: by mail-vs1-f45.google.com with SMTP id z66so8555120vsb.3 for ; Mon, 04 Jul 2022 03:29:37 -0700 (PDT) X-Gm-Message-State: AJIora/rBPHeB6Zz7Zhf+aAOcauYap0RgEeuG0Ht+oMCTKG/zB1X83HJ j98ap+qausxfLs50x3akmzb2eP0PKzd1clSFPMQ= X-Google-Smtp-Source: AGRyM1u6JhNTB0gLDTipOeQ1swPjdH1oGdRVztg+QzNFmuvStQcIc7FWyLglppo/lfxYQ9Nz+IHL4JIBdjCw/e1muuY= X-Received: by 2002:a67:f958:0:b0:354:3f56:8a2d with SMTP id u24-20020a67f958000000b003543f568a2dmr15408042vsq.59.1656930576462; Mon, 04 Jul 2022 03:29:36 -0700 (PDT) MIME-Version: 1.0 References: <20220702080021.1167190-1-chenhuacai@loongson.cn> <20220702080021.1167190-4-chenhuacai@loongson.cn> <20220704092658.GA31220@willie-the-truck> In-Reply-To: <20220704092658.GA31220@willie-the-truck> From: Huacai Chen Date: Mon, 4 Jul 2022 18:29:24 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH V3 3/4] mm/sparse-vmemmap: Generalise vmemmap_populate_hugepages() To: Will Deacon Cc: Huacai Chen , Arnd Bergmann , Thomas Bogendoerfer , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Catalin Marinas , loongarch@lists.linux.dev, linux-arch , Xuefeng Li , Guo Ren , Xuerui Wang , Jiaxun Yang , Andrew Morton , Linux-MM , "open list:MIPS" , LKML , linux-arm-kernel , Feiyang Chen Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1656930581; a=rsa-sha256; cv=none; b=Nuo2jJGMFLzNtzx1quiDzQT1SoeVe28PQYEs2LuQkdlZkYRuy17h+Z7C1HYt3cMYEqbKVs duWRDBFb04rWr1y7vKF8T8/9k5iY+3j7PHe3FxFLIOz5XhKdHprMiaMRGRuIZ8fiQCMYmu eM8DipG0nVDaKdURN1uB2wTTUzTWg8o= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IZwvcqpO; spf=pass (imf13.hostedemail.com: domain of chenhuacai@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=chenhuacai@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656930581; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=i+Ykkr7QihudOMA/IIpqZozG++x/ehG6+x1y1ApNITU=; b=zHH6Z8Y2sl9iKO8osfc2u6BFwE3qDVJ1yxGPZI5AaTPQsgURblz9lM8J6Y1Trpo+eUgQ6f AohI/RBFzmyMMOw1mFo62ySAHFaxAAyzpiIKYOIBU5/vSnBNiizfHsjy6KV6r5fAPvburN zt6UyO2KZxwxjngFXvbheZEVqN6QASg= X-Stat-Signature: 8rpqn3c57yp193xxcbjb11eyxuidii6d X-Rspamd-Queue-Id: 08D4420006 Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=IZwvcqpO; spf=pass (imf13.hostedemail.com: domain of chenhuacai@kernel.org designates 145.40.68.75 as permitted sender) smtp.mailfrom=chenhuacai@kernel.org; dmarc=pass (policy=none) header.from=kernel.org X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1656930580-989959 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: Hi, Will, On Mon, Jul 4, 2022 at 5:27 PM Will Deacon wrote: > > On Sat, Jul 02, 2022 at 04:00:20PM +0800, Huacai Chen wrote: > > From: Feiyang Chen > > > > Generalise vmemmap_populate_hugepages() so ARM64 & X86 & LoongArch can > > share its implementation. > > > > Signed-off-by: Feiyang Chen > > Signed-off-by: Huacai Chen > > --- > > arch/arm64/mm/mmu.c | 53 ++++++----------------- > > arch/loongarch/mm/init.c | 63 ++++++++------------------- > > arch/x86/mm/init_64.c | 92 ++++++++++++++-------------------------- > > include/linux/mm.h | 6 +++ > > mm/sparse-vmemmap.c | 54 +++++++++++++++++++++++ > > 5 files changed, 124 insertions(+), 144 deletions(-) > > > > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c > > index 626ec32873c6..b080a65c719d 100644 > > --- a/arch/arm64/mm/mmu.c > > +++ b/arch/arm64/mm/mmu.c > > @@ -1158,49 +1158,24 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, > > return vmemmap_populate_basepages(start, end, node, altmap); > > } > > #else /* !ARM64_KERNEL_USES_PMD_MAPS */ > > +void __meminit vmemmap_set_pmd(pmd_t *pmd, void *p, int node, > > + unsigned long addr, unsigned long next) > > +{ > > + pmd_set_huge(pmd, __pa(p), __pgprot(PROT_SECT_NORMAL)); > > +} > > + > > +int __meminit vmemmap_check_pmd(pmd_t *pmd, int node, unsigned long addr, > > + unsigned long next) > > +{ > > + vmemmap_verify((pte_t *)pmd, node, addr, next); > > + return 1; > > +} > > nit, but please can you use 'pmdp' instead of 'pmd' for the pointers? We're > pretty consistent elsewhere for arch/arm64 and it makes the READ_ONCE() > usage easier to follow once functions end up loading the entry. OK, I will change to pmdp for ARM64, thanks. Huacai > > Thanks, > > Will