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=-6.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=no 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 27B7EC433E7 for ; Sat, 17 Oct 2020 02:04:17 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 9E6DF206C1 for ; Sat, 17 Oct 2020 02:04:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="wCa0em3J"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="i4uUN580" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9E6DF206C1 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=MIelMf/ggfdbVDoRxjlYyQ4gyITzna5Z/y3pE37Svzc=; b=wCa0em3JvgqxEDULVeRAn9V0sq ZYBVuw70tXlr74FWd8resjk1uaRrsdaCokAR2zcECYI2rE+yu5I1VRhwy3qHVLL8mp7EUXUQnfQ2c Rc7AoH5Xt8rb0RjHQBNZent4DatMISr07FIieIu/QpQ0w0+tiSuSeSaZdRuhrYbPTgjjzH1gYfIMl nqcKI8GulDgku9DTWp6mQ+YuBJToifGY4sFmTAG21jY9o6Y4oMSiqkeieOEx7RtIxZHDEmz5N8LUT OrY+pSTKSP7ocb7pdEd9NBV4MjT/dJLbHOyj5YVyeBHoBE/LnYA0T73VNT/uMGAbYTe234ZemZ5qU 8ZfAKthw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kTbYY-00004q-BR; Sat, 17 Oct 2020 02:02:50 +0000 Received: from z5.mailgun.us ([104.130.96.5]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kTbYV-0008W9-Kc for linux-arm-kernel@lists.infradead.org; Sat, 17 Oct 2020 02:02:48 +0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1602900166; h=Content-Transfer-Encoding: Content-Type: MIME-Version: Message-Id: Date: Subject: Cc: To: From: Sender; bh=O39GHa5Zc7YYi6xk0MgUGMyJ7D1ZYO+P8ngBtf0mzWU=; b=i4uUN580aJWRZ33srn3OiZcpwDf/QY109yXu18wn3p3IIk3HAnwnya9Bhsh/ZUpak/VRf9Sq 1QU+oKyxJ7hPvJ/EulpHtoIf/CvYC+VbyLGRgObv7V4swsRpFFRwt9DgLXwLqbWf/rxx/UPI 4hcbEvDt083E1nXc8bcoT7L3kJM= X-Mailgun-Sending-Ip: 104.130.96.5 X-Mailgun-Sid: WyJiYzAxZiIsICJsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmciLCAiYmU5ZTRhIl0= Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n03.prod.us-west-2.postgun.com with SMTP id 5f8a50c3a03b63d673661385 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Sat, 17 Oct 2020 02:02:43 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 3639EC433CB; Sat, 17 Oct 2020 02:02:43 +0000 (UTC) Received: from th-lint-014.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sudaraja) by smtp.codeaurora.org (Postfix) with ESMTPSA id A6313C433C9; Sat, 17 Oct 2020 02:02:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org A6313C433C9 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=sudaraja@codeaurora.org From: Sudarshan Rajagopalan To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] mm/memory_hotplug, arm64: allow certain bootmem sections to be offlinable Date: Fri, 16 Oct 2020 19:02:22 -0700 Message-Id: X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201016_220247_724086_DC466315 X-CRM114-Status: GOOD ( 14.91 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sudarshan Rajagopalan Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SW4gdGhlIHBhdGNoIHRoYXQgZW5hYmxlcyBtZW1vcnkgaG90LXJlbW92ZSAoY29tbWl0IGJiZDZl YzYwNWMwZiAoImFybTY0L21tOiBFbmFibGUgbWVtb3J5IGhvdCByZW1vdmUiKSkgZm9yIGFybTY0 LCB0aGVyZeKAmXMgYSBub3RpZmllciBwdXQgaW4gcGxhY2UgdGhhdCBwcmV2ZW50cyBib290IG1l bW9yeSBmcm9tIGJlaW5nIG9mZmxpbmVkIGFuZCByZW1vdmVkLiBUaGUgY29tbWl0IHRleHQgbWVu dGlvbnMgdGhhdCBib290IG1lbW9yeSBvbiBhcm02NCBjYW5ub3QgYmUgcmVtb3ZlZC4gQnV0IHg4 NiBhbmQgb3RoZXIgYXJjaHMgZG9lc27igJl0IHNlZW0gdG8gZG8gdGhpcyBwcmV2ZW50aW9uLgoK VGhlIGN1cnJlbnQgbG9naWMgaXMgdGhhdCBvbmx5IOKAnG5ld+KAnSBtZW1vcnkgYmxvY2tzIHdo aWNoIGFyZSBob3QtYWRkZWQgY2FuIGxhdGVyIGJlIG9mZmxpbmVkIGFuZCByZW1vdmVkLiBUaGUg bWVtb3J5IHRoYXQgc3lzdGVtIGJvb3RlZCB1cCB3aXRoIGNhbm5vdCBiZSBvZmZsaW5lZCBhbmQg cmVtb3ZlZC4gQnV0IHRoZXJlIGNvdWxkIGJlIG1hbnkgdXNlcmNhc2VzIHN1Y2ggYXMgaW50ZXIt Vk0gbWVtb3J5IHNoYXJpbmcgd2hlcmUgYSBwcmltYXJ5IFZNIGNvdWxkIG9mZmxpbmUgYW5kIGhv dC1yZW1vdmUgYSBibG9jay9zZWN0aW9uIG9mIG1lbW9yeSBhbmQgbGVuZCBpdCB0byBzZWNvbmRh cnkgVk0gd2hlcmUgaXQgY291bGQgaG90LWFkZCBpdC4gQW5kIGFmdGVyIHVzZWNhc2UgaXMgZG9u ZSwgdGhlIHJldmVyc2UgaGFwcGVucyB3aGVyZSBzZWNvbmRhcnkgVk0gaG90LXJlbW92ZXMgYW5k IGdpdmVzIGl0IGJhY2sgdG8gcHJpbWFyeSB3aGljaCBjYW4gaG90LWFkZCBpdCBiYWNrLiBJbiBz dWNoIGNhc2VzLCB0aGUgcHJlc2VudCBsb2dpYyBmb3IgYXJtNjQgZG9lc27igJl0IGFsbG93IHRo aXMgaG90LXJlbW92ZSBpbiBwcmltYXJ5IHRvIGhhcHBlbi4KCkFsc28sIG9uIHN5c3RlbXMgd2l0 aCBtb3ZhYmxlIHpvbmUgdGhhdCBzb3J0IG9mIGd1YXJhbnRlZXMgcGFnZXMgdG8gYmUgbWlncmF0 ZWQgYW5kIGlzb2xhdGVkIHNvIHRoYXQgYmxvY2tzIGNhbiBiZSBvZmZsaW5lZCwgdGhpcyBsb2dp YyBhbHNvIGRlZmVhdHMgdGhlIHB1cnBvc2Ugb2YgaGF2aW5nIGEgbW92YWJsZSB6b25lIHdoaWNo IHN5c3RlbSBjYW4gcmVseSBvbiBtZW1vcnkgaG90LXBsdWdnaW5nLCB3aGljaCBzYXkgdmlydC1p byBtZW0gYWxzbyByZWxpZXMgb24gZm9yIGZ1bGx5IHBsdWdnZWQgbWVtb3J5IGJsb2Nrcy4KClRo aXMgcGF0Y2ggdHJpZXMgdG8gc29sdmUgYnkgaW50cm9kdWNpbmcgYSBuZXcgc2VjdGlvbiBtZW0g bWFwIHNpdCAnU0VDVElPTl9NQVJLX0hPVFBMVUdHQUJMRScgd2hpY2ggYWxsb3dzIHRoZSBjb25j ZXJuZWQgbW9kdWxlIGRyaXZlcnMgYmUgYWJsZQp0byBtYXJrIHJlcXVyaWVkIHNlY3Rpb25zIGFz ICJob3RwbHVnZ2FibGUiIGJ5IHNldHRpbmcgdGhpcyBiaXQuIEFsc28gdGhpcyBtYXJraW5nIGlz IG9ubHkgYWxsb3dlZCBmb3Igc2VjdGlvbnMgd2hpY2ggYXJlIGluIG1vdmFibGUgem9uZSBhbmQg aGF2ZSB1bm1vdmFibGUgcGFnZXMuIFRoZSBhcm02NCBtbXUgY29kZSBvbiByZWNlaXZpbmcgdGhl IE1FTV9HT0lOR19PRkZMSU5FIG5vdGlmaWNhdGlvbiwgd2UgZGlzYWxsb3cgb2ZmbGluaW5nIG9m IGFueSBib290IG1lbW9yeSBieSBjaGVja2luZyBpZiBzZWN0aW9uX2Vhcmx5IG9yIG5vdC4gV2l0 aCB0aGUgaW50cm9kdWN0aW9uIG9mIFNFQ1RJT05fTUFSS19IT1RQTFVHR0FCTEUsIHdlIGFsbG93 IGJvb3QgbWVtIHNlY3Rpb25zIHRoYXQgYXJlIG1hcmtlZCBhcyBob3RwbHVnZ2FibGUgd2l0aCB0 aGlzIGJpdCBzZXQgdG8gYmUgb2ZmbGluZWQgYW5kIHJlbW92ZWQuIFRoZXJlYnkgYWxsb3dpbmcg cmVxdWlyZWQgYm9vdG1lbSBzZWN0aW9ucyB0byBiZSBvZmZsaW5hYmxlLgoKU3VkYXJzaGFuIFJh amFnb3BhbGFuICgyKToKICBtbS9tZW1vcnlfaG90cGx1ZzogYWxsb3cgbWFya2luZyBvZiBtZW1v cnkgc2VjdGlvbnMgYXMgaG90cGx1Z2dhYmxlCiAgYXJtNjQ6IGFsbG93IGhvdHBsdWdnYWJsZSBz ZWN0aW9ucyB0byBiZSBvZmZsaW5lZAoKIGFyY2gvYXJtNjQvbW0vbW11LmMgICAgICAgICAgICB8 ICAyICstCiBpbmNsdWRlL2xpbnV4L21lbW9yeV9ob3RwbHVnLmggfCAgMSArCiBpbmNsdWRlL2xp bnV4L21tem9uZS5oICAgICAgICAgfCAgOSArKysrKysrKy0KIG1tL21lbW9yeV9ob3RwbHVnLmMg ICAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysrCiBtbS9zcGFyc2UuYyAgICAgICAg ICAgICAgICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA1IGZpbGVz IGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgotLSAKUXVhbGNvbW0g SW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgQ29kZSBBdXJvcmEgRm9ydW0s CmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== 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=-6.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=no 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 249C6C433E7 for ; Sat, 17 Oct 2020 05:58:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DC53B20709 for ; Sat, 17 Oct 2020 05:58:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="LPaxnwnW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2436801AbgJQF6O (ORCPT ); Sat, 17 Oct 2020 01:58:14 -0400 Received: from z5.mailgun.us ([104.130.96.5]:19564 "EHLO z5.mailgun.us" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2436763AbgJQF6O (ORCPT ); Sat, 17 Oct 2020 01:58:14 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1602914294; h=Content-Transfer-Encoding: Content-Type: MIME-Version: Message-Id: Date: Subject: Cc: To: From: Sender; bh=O39GHa5Zc7YYi6xk0MgUGMyJ7D1ZYO+P8ngBtf0mzWU=; b=LPaxnwnW+8p7cau0WW5/01YfetRb5f2berm9wtC5Ip73KmJJ4fuDh7fOj7yyigInGvui6Sad 4KeVeOvEtYyRAYqp6nvU0JBlXc24LpcaRdVl9sPl9tDiLTWNJJKQBgxUzfmVkSilC9y4tHaR YIwGNql69VWeTuql6qi5662PEiY= X-Mailgun-Sending-Ip: 104.130.96.5 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n07.prod.us-east-1.postgun.com with SMTP id 5f8a50c44f8cc67c31616dbc (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Sat, 17 Oct 2020 02:02:44 GMT Sender: sudaraja=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 6ADEEC433CB; Sat, 17 Oct 2020 02:02:43 +0000 (UTC) Received: from th-lint-014.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sudaraja) by smtp.codeaurora.org (Postfix) with ESMTPSA id A6313C433C9; Sat, 17 Oct 2020 02:02:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org A6313C433C9 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=sudaraja@codeaurora.org From: Sudarshan Rajagopalan To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Sudarshan Rajagopalan Subject: [PATCH 0/2] mm/memory_hotplug, arm64: allow certain bootmem sections to be offlinable Date: Fri, 16 Oct 2020 19:02:22 -0700 Message-Id: X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In the patch that enables memory hot-remove (commit bbd6ec605c0f ("arm64/mm: Enable memory hot remove")) for arm64, there’s a notifier put in place that prevents boot memory from being offlined and removed. The commit text mentions that boot memory on arm64 cannot be removed. But x86 and other archs doesn’t seem to do this prevention. The current logic is that only “new” memory blocks which are hot-added can later be offlined and removed. The memory that system booted up with cannot be offlined and removed. But there could be many usercases such as inter-VM memory sharing where a primary VM could offline and hot-remove a block/section of memory and lend it to secondary VM where it could hot-add it. And after usecase is done, the reverse happens where secondary VM hot-removes and gives it back to primary which can hot-add it back. In such cases, the present logic for arm64 doesn’t allow this hot-remove in primary to happen. Also, on systems with movable zone that sort of guarantees pages to be migrated and isolated so that blocks can be offlined, this logic also defeats the purpose of having a movable zone which system can rely on memory hot-plugging, which say virt-io mem also relies on for fully plugged memory blocks. This patch tries to solve by introducing a new section mem map sit 'SECTION_MARK_HOTPLUGGABLE' which allows the concerned module drivers be able to mark requried sections as "hotpluggable" by setting this bit. Also this marking is only allowed for sections which are in movable zone and have unmovable pages. The arm64 mmu code on receiving the MEM_GOING_OFFLINE notification, we disallow offlining of any boot memory by checking if section_early or not. With the introduction of SECTION_MARK_HOTPLUGGABLE, we allow boot mem sections that are marked as hotpluggable with this bit set to be offlined and removed. Thereby allowing required bootmem sections to be offlinable. Sudarshan Rajagopalan (2): mm/memory_hotplug: allow marking of memory sections as hotpluggable arm64: allow hotpluggable sections to be offlined arch/arm64/mm/mmu.c | 2 +- include/linux/memory_hotplug.h | 1 + include/linux/mmzone.h | 9 ++++++++- mm/memory_hotplug.c | 20 ++++++++++++++++++++ mm/sparse.c | 31 +++++++++++++++++++++++++++++++ 5 files changed, 61 insertions(+), 2 deletions(-) -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project