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 X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 75065C433B4 for ; Tue, 20 Apr 2021 09:18:32 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 90D0E61057 for ; Tue, 20 Apr 2021 09:18:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 90D0E61057 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+bvrTyB1Oxy0OIM8MuzDHRixdTgIyZ6MdmnvSQ5BfOY=; b=k8A4vu6AeZx7706KTz1g7GxSe VieUqVUVuu8oJq5qoFNIyXkSyYtQ8hW0M4mrsac3Hdu4kU51cf0PPqwFqEvhgMi9+fu/0Srd5AQT5 imiFI1XQ0X9Gu/rjePzTFuBl2X5a2TXBfV7ZIAcajJjH0zh4KSqgcpBoQixFVXZE3qd9HgL7ci5xz y9vA+ywgQBKaXdanGFfX8Etq9pNVW8AsYSHsU4fuM6uYlyBmWOrXc/khNtYjiO3+O/+4jixL3ztJ1 I5MajIUDUpeK81kjIV2F0BGyStke/oT9ED2nsrC9xolVAHyVnLLJeg19QiMiyrIpurynkSXx828bY eZihJUUFA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lYmUj-00BhTB-6j; Tue, 20 Apr 2021 09:16:33 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lYmSt-00BgzX-SX for linux-arm-kernel@desiato.infradead.org; Tue, 20 Apr 2021 09:14:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=gjqSAIRZ/wMm3RaOes3qew/KhUNwZd/0ZQqkFAPrlv0=; b=dWfLqsoTtNMGl3APoRui4hnxWz 9d6gH53GUn77Es5SNNbXhcx+l8sdr9a1ms5aGGhoa3x8R3hto/Ku5fUw5wRX388NpYrUJjLe5x7Ni wxP2ohIUHi4NeJrRwwe63Z4gro78eXUqt6d0RKeYYS90Nv9dDLoM/U4PDn5dww7s+uTW33H2CITpa Wh9Z6kc22JguRvFcJ8Dy7y6WQnSxvTo5HQ30Dg0NkVm1C5dao+bOOAS/UNHXmIaRORtk7xerV4E4p VszCyZg7gq8lZ4S+VghVbCWeaS02qK2yP0tO5tL+l+9cerdFAjFvKT6qceA/C74YYeoHmQqf0GgNj 0OYNvoJQ==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lYmSq-00Bxs6-G7 for linux-arm-kernel@lists.infradead.org; Tue, 20 Apr 2021 09:14:38 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 22648613B0; Tue, 20 Apr 2021 09:14:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1618910076; bh=e0Fi9wjwVAjNSoqCvZhmS1czaKaDc65hVPR9ELVVAAQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Euqs6IieJbshhUUBT6OyccubGx6rWYF7fAdoO7YS4gqcu25nHwH/s5T8jEXwbI1ew FT4bHjYLmhV4tQQfkw0bNn79NX9FLrmKNWW7YfXCBYX1tLaA6WDR0zK1zJMMOH/qcT lA0vOAiTkSutrf5UXcCESLOS/4t3Z+ZXMkH8JKoS8BtCMGxVL6bZtX4gLdxjgDB+6i TW5n3Gy0FCLwIo5On1LyxJb+NINkT7p/Jm1Dz7+FR9fLlRhK8mpn4xb0sFWpUeqI94 JIkR9HRM2fygHx3Pkap3+jPV/+vRj1JZpREeE/IUfYWisdwHP7nm9aHbMrMFDp09x+ N1MmqU9faxbow== From: Mike Rapoport To: linux-arm-kernel@lists.infradead.org Cc: Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , David Hildenbrand , Marc Zyngier , Mark Rutland , Mike Rapoport , Mike Rapoport , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v1 4/4] arm64: drop pfn_valid_within() and simplify pfn_valid() Date: Tue, 20 Apr 2021 12:09:25 +0300 Message-Id: <20210420090925.7457-5-rppt@kernel.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20210420090925.7457-1-rppt@kernel.org> References: <20210420090925.7457-1-rppt@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210420_021436_591845_06E978A3 X-CRM114-Status: GOOD ( 16.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Mike Rapoport The arm64's version of pfn_valid() differs from the generic because of two reasons: * Parts of the memory map are freed during boot. This makes it necessary to verify that there is actual physical memory that corresponds to a pfn which is done by querying memblock. * There are NOMAP memory regions. These regions are not mapped in the linear map and until the previous commit the struct pages representing these areas had default values. As the consequence of absence of the special treatment of NOMAP regions in the memory map it was necessary to use memblock_is_map_memory() in pfn_valid() and to have pfn_valid_within() aliased to pfn_valid() so that generic mm functionality would not treat a NOMAP page as a normal page. Since the NOMAP regions are now marked as PageReserved(), pfn walkers and the rest of core mm will treat them as unusable memory and thus pfn_valid_within() is no longer required at all and can be disabled by removing CONFIG_HOLES_IN_ZONE on arm64. pfn_valid() can be slightly simplified by replacing memblock_is_map_memory() with memblock_is_memory(). Signed-off-by: Mike Rapoport --- arch/arm64/Kconfig | 3 --- arch/arm64/mm/init.c | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index e4e1b6550115..58e439046d05 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1040,9 +1040,6 @@ config NEED_PER_CPU_EMBED_FIRST_CHUNK def_bool y depends on NUMA -config HOLES_IN_ZONE - def_bool y - source "kernel/Kconfig.hz" config ARCH_SPARSEMEM_ENABLE diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index c54e329aca15..370f33765b64 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -243,7 +243,7 @@ int pfn_valid(unsigned long pfn) /* * ZONE_DEVICE memory does not have the memblock entries. - * memblock_is_map_memory() check for ZONE_DEVICE based + * memblock_is_memory() check for ZONE_DEVICE based * addresses will always fail. Even the normal hotplugged * memory will never have MEMBLOCK_NOMAP flag set in their * memblock entries. Skip memblock search for all non early @@ -254,7 +254,7 @@ int pfn_valid(unsigned long pfn) return pfn_section_valid(ms, pfn); } #endif - return memblock_is_map_memory(addr); + return memblock_is_memory(addr); } EXPORT_SYMBOL(pfn_valid); -- 2.28.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel