Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp229879pxb; Tue, 2 Feb 2021 03:50:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJxyyg+RrAPNAOjKKQBfoxggRSk9k8h0mUrEkR84HWW8n7lW/iS6jTYWWSRCnd4IdR1Wuiv3 X-Received: by 2002:a17:906:1f45:: with SMTP id d5mr22611977ejk.76.1612266640440; Tue, 02 Feb 2021 03:50:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612266640; cv=none; d=google.com; s=arc-20160816; b=nrcbGaBh/1JXL8nrK+vpCe+Vpb5afGtWetTC7vV3GPcklEMdypb3EjpE/mUxUrz482 L/6ymxpypDl7S1M38C+mX6zNM83bldV2BvpJ7knrE2rro1dhJkNkbFjE7/bA21Hcs0Tq tFNTWiibkP1DxSuAABQqgSDzpy4JvimN/krztEcXzMehqAJ1EmKRt9pq9rwbpg04pIkw 8RuWGrJ+sACUhdNijzr9+UZO6giqH7KbJ/xo7URSuOubjt0JCph8VVTmppzdQaXDKs4O Phqm9/y4/1YqG1eBnZ79AiAsUcRdhBq4X1npRz4A8hZybQeWyjzGwWsQMgGI2nQ3GRYS jKAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:references:cc :to:from:subject; bh=3SMwRUhG5hf+1jlLBhgVrApjlFKFw+SXBfhRvYIn9xk=; b=UKCH30TFmplYWcYTmRHkc2pWjwAS/3irGamDHYlOQEhY5yKXXb4s0w6C1TX1qIG/s4 nBdFSNvvpjQPr0chu1q3fiTcGfjwNwYsNUnutjHwO2/XQ9W8inWjXY+sc7goCX0WdhgL qt3yj/8dttk7VHOfx5dxU1mJS7P9FT9bc6fBg6VnZ1gFGswAX/PNkxO1jGGcck6Feq6l xRv/rf9QJVzM3MOLEwZbhFo25GCXxeV36vHu/O54jBIEqfGhwWWkgrTfhgZnqTb+0zub mlo3KarpRFBVuYkg6bltqmfsDg9x2AmEoK9t+7oO+NT+xeyfWrQ+2ZMtuwwwoUmEPHoN Q+Zw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m7si6198764edj.442.2021.02.02.03.50.15; Tue, 02 Feb 2021 03:50:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230369AbhBBLtK (ORCPT + 99 others); Tue, 2 Feb 2021 06:49:10 -0500 Received: from szxga04-in.huawei.com ([45.249.212.190]:11673 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229590AbhBBLtH (ORCPT ); Tue, 2 Feb 2021 06:49:07 -0500 Received: from DGGEMS411-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4DVNM92BMkzlDlp; Tue, 2 Feb 2021 19:46:45 +0800 (CST) Received: from [10.174.177.80] (10.174.177.80) by DGGEMS411-HUB.china.huawei.com (10.3.19.211) with Microsoft SMTP Server id 14.3.498.0; Tue, 2 Feb 2021 19:48:14 +0800 Subject: Re: [PATCH v12 01/14] ARM: mm: add missing pud_page define to 2-level page tables From: Ding Tianhong To: Russell King - ARM Linux admin , Nicholas Piggin CC: , Andrew Morton , , , , Jonathan Cameron , Christoph Hellwig , Christophe Leroy , Rick Edgecombe , References: <20210202110515.3575274-1-npiggin@gmail.com> <20210202110515.3575274-2-npiggin@gmail.com> <20210202111319.GL1463@shell.armlinux.org.uk> Message-ID: Date: Tue, 2 Feb 2021 19:48:13 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.3.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.177.80] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2021/2/2 19:47, Ding Tianhong wrote: > On 2021/2/2 19:13, Russell King - ARM Linux admin wrote: >> On Tue, Feb 02, 2021 at 09:05:02PM +1000, Nicholas Piggin wrote: >>> diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h >>> index c02f24400369..d63a5bb6bd0c 100644 >>> --- a/arch/arm/include/asm/pgtable.h >>> +++ b/arch/arm/include/asm/pgtable.h >>> @@ -166,6 +166,9 @@ extern struct page *empty_zero_page; >>> >>> extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; >>> >>> +#define pud_page(pud) pmd_page(__pmd(pud_val(pud))) >>> +#define pud_write(pud) pmd_write(__pmd(pud_val(pud))) >> >> As there is no PUD, does it really make sense to return a valid >> struct page (which will be the PTE page) for pud_page(), which is >> several tables above? >> > --- a/arch/arm/include/asm/pgtable-2level.h > +++ b/arch/arm/include/asm/pgtable-2level.h > > +static inline int pud_none(pud_t pud) > +{ > + return 0; > +} > --- a/arch/arm/include/asm/pgtable-2level.h +++ b/arch/arm/include/asm/pgtable-2level.h> +static inline int pud_page(pud_t pud) +{ + return 0; +} > I think it could be fix like this. > > Ding >