Received: by 2002:a05:7412:1492:b0:e2:908c:2ebd with SMTP id s18csp544941rdh; Wed, 23 Aug 2023 07:50:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEFCl8fIukjoHfPJEUoUrvSA/CgjSQoYDd7lxMCrxetXaYhLkRRbyDocDtYrOSG57mZbtJE X-Received: by 2002:a92:c5c9:0:b0:349:3808:e387 with SMTP id s9-20020a92c5c9000000b003493808e387mr2700461ilt.11.1692802212300; Wed, 23 Aug 2023 07:50:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692802212; cv=none; d=google.com; s=arc-20160816; b=NcTKa+p7ESj3ZM7kCbiDE3eQT+yOAdeacy7YYcBLKhVx+iIqJ/XjTKBNEy72W8qBl5 20GId76jIeQM5phPjW3gxKHcS84brvKpUKQUPmE0gMEbIv5VCArgYH9P94lZdeSW8p0O Vpg1DAWuXXUrpLaArRBVdCh2EiIobxQGvUocl0FuTjpecGcfU7qLyJU1T3YXETrJOY36 G7kXyxMRhC6LpYTUMHCPLkoMPz+G7H1IxTkg/IM13Rn4yl99c57Gcslp0vkMy08XpMvt Oq2NoZtbT7gDJfAKEe8ddSCGAmecXmPfMhsVyOn4lou8x3/HGjmrgl7K+197/V7BLRw+ o2ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=LKitmhj8fv3HGM2ZEl15TmS0y71aN9S6+KBiyCMKdQE=; fh=imQ/NyNBnYYmfGk25mVbc8KayF+owEio9SAkc/cwCHU=; b=hse5IrKoJn5WPHrNHKELy2n1dhxODIswUfRnAw820DmrejyoSwhqeJjUH083eapRUZ SjCYNSwyQDMmMpR2KjcV+BZPFyy84gI4nY0nl3WyPeN94yt4lAw2KusC4cNzmhhH3iHL 4OKll1mrvOjlv0yr5i3bTutovCKj45ma8V0LI660+4H52ZyJZy6o5UOo+hJ5BFvQz0ag BsUJrKKvjJD2JifdUaMTd4H/WRZILMUmlOdcRefg4Ln2ErlE/vb8CkePONIN+FhWuayY FdIDkdeP3q/uzyUEO3E00BXCSPZHcfkz2syVyA5x7n6YaPJyuigkCc8WV3GB9V1LeNB8 5WoA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d23-20020a630e17000000b0055c86d1e5e6si11448897pgl.602.2023.08.23.07.50.00; Wed, 23 Aug 2023 07:50:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235686AbjHWNRN (ORCPT + 99 others); Wed, 23 Aug 2023 09:17:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235689AbjHWNRA (ORCPT ); Wed, 23 Aug 2023 09:17:00 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 179F8173D; Wed, 23 Aug 2023 06:16:27 -0700 (PDT) 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 D1B7C1682; Wed, 23 Aug 2023 06:16:24 -0700 (PDT) Received: from e121798.cable.virginm.net (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4F9513F740; Wed, 23 Aug 2023 06:15:38 -0700 (PDT) From: Alexandru Elisei To: catalin.marinas@arm.com, will@kernel.org, oliver.upton@linux.dev, maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, arnd@arndb.de, akpm@linux-foundation.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, mhiramat@kernel.org, rppt@kernel.org, hughd@google.com Cc: pcc@google.com, steven.price@arm.com, anshuman.khandual@arm.com, vincenzo.frascino@arm.com, david@redhat.com, eugenis@google.com, kcc@google.com, hyesoo.yu@samsung.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH RFC 15/37] arm64: mte: Make tag storage depend on ARCH_KEEP_MEMBLOCK Date: Wed, 23 Aug 2023 14:13:28 +0100 Message-Id: <20230823131350.114942-16-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230823131350.114942-1-alexandru.elisei@arm.com> References: <20230823131350.114942-1-alexandru.elisei@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Tag storage memory requires that the tag storage pages used for data can be migrated when they need to be repurposed to store tags. If ARCH_KEEP_MEMBLOCK is enabled, kexec will scan all non-reserved memblocks to find a suitable location for copying the kernel image. The kernel image, once loaded, cannot be moved to another location in physical memory. The initialization code for the tag storage reserves the memblocks for the tag storage pages, which means kexec will not use them, and the tag storage pages can be migrated at any time, which is the desired behaviour. However, if ARCH_KEEP_MEMBLOCK is not selected, kexec will not skip a region unless the memory resource has the IORESOURCE_SYSRAM_DRIVER_MANAGED flag, which isn't currently set by the initialization code. Make ARM64_MTE_TAG_STORAGE depend on ARCH_KEEP_MEMBLOCK to make it explicit that that is required for it to work correctly. Signed-off-by: Alexandru Elisei --- arch/arm64/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index ed27bb87babd..1e3d23ee22ab 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -2081,6 +2081,7 @@ if ARM64_MTE config ARM64_MTE_TAG_STORAGE bool "Dynamic MTE tag storage management" select MEMORY_METADATA + depends on ARCH_KEEP_MEMBLOCK help Adds support for dynamic management of the memory used by the hardware for storing MTE tags. This memory can be used as regular data memory -- 2.41.0