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=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,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 3D02AC56201 for ; Mon, 23 Nov 2020 02:29:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0A8B62076B for ; Mon, 23 Nov 2020 02:29:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727033AbgKWC3P (ORCPT ); Sun, 22 Nov 2020 21:29:15 -0500 Received: from foss.arm.com ([217.140.110.172]:51952 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725788AbgKWC3O (ORCPT ); Sun, 22 Nov 2020 21:29:14 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DFB6630E; Sun, 22 Nov 2020 18:29:13 -0800 (PST) Received: from p8cg001049571a15.arm.com (unknown [10.163.82.200]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 529663F70D; Sun, 22 Nov 2020 18:29:09 -0800 (PST) From: Anshuman Khandual To: linux-mm@kvack.org, akpm@linux-foundation.org, david@redhat.com Cc: Anshuman Khandual , Heiko Carstens , Vasily Gorbik , Catalin Marinas , Will Deacon , Ard Biesheuvel , Mark Rutland , linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC 0/3] mm/hotplug: Pre-validate the address range with platform Date: Mon, 23 Nov 2020 07:58:46 +0530 Message-Id: <1606098529-7907-1-git-send-email-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series adds a mechanism allowing platforms to weigh in and prevalidate incoming address range before proceeding further with the memory hotplug. This helps prevent potential platform errors for the given address range, down the hotplug call chain, which inevitably fails the hotplug itself. This mechanism was suggested by David Hildenbrand during another discussion with respect to a memory hotplug fix on arm64 platform. https://lore.kernel.org/linux-arm-kernel/1600332402-30123-1-git-send-email-anshuman.khandual@arm.com/ This mechanism focuses on the addressibility aspect and not [sub] section alignment aspect. Hence check_hotplug_memory_range() and check_pfn_span() have been left unchanged. Wondering if all these can still be unified in an expanded memhp_range_allowed() check, that can be called from multiple memory hot add and remove paths. This series applies on v5.10-rc5 and has been slightly tested on arm64. But looking for some early feedback here. Cc: Heiko Carstens Cc: Vasily Gorbik Cc: Catalin Marinas Cc: Will Deacon Cc: Ard Biesheuvel Cc: Mark Rutland Cc: David Hildenbrand Cc: Andrew Morton Cc: linux-arm-kernel@lists.infradead.org Cc: linux-s390@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Anshuman Khandual (3): mm/hotplug: Pre-validate the address range with platform arm64/mm: Define arch_get_addressable_range() s390/mm: Define arch_get_addressable_range() arch/arm64/include/asm/memory.h | 3 ++ arch/arm64/mm/mmu.c | 19 ++++++------ arch/s390/include/asm/mmu.h | 2 ++ arch/s390/mm/vmem.c | 16 ++++++++--- include/linux/memory_hotplug.h | 51 +++++++++++++++++++++++++++++++++ mm/memory_hotplug.c | 29 ++++++------------- mm/memremap.c | 9 +++++- 7 files changed, 96 insertions(+), 33 deletions(-) -- 2.20.1