From nobody Mon Apr 6 15:52:22 2026 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010042.outbound.protection.outlook.com [52.101.46.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE8AA40DFC5; Thu, 19 Mar 2026 01:15:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.46.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882927; cv=fail; b=D9DP3hsTZUeK3PkTZ9HcJmwSqSmQOJKxf437+wAv8/s61IrWR1Ery95LmGTbJ9E6pq/xGwi6Xp+XcnFhQU5gWPSMDnFw6nsXKLiGEvehkwjUUsX5pPI+DXVul5AA7YWeZA7fcAQl9mfSWP2X/nu34BOxFrKrS8QkmeUKKjquz7M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882927; c=relaxed/simple; bh=r0KX32uOnfJtmRMkAD47jZWPkYBELnX/MXXP+NS+eIM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=VscyTIhngNcqVzajSTOkmPahJkRap8YISyV3bt2NcbEhJIrDFkFtZ0LnpaeZ4nWXiNJV07ONJUske2lZMYyWbXoYyhQglS2mTJJqPsse0OH9X2g7CLSrXPfZC+skkMCdkh8AvkcxK8vtUclKSczZj3s9LL1ae5fT0CoEgQREaOw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=swiqnejd; arc=fail smtp.client-ip=52.101.46.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="swiqnejd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rMfzRQB1S1TfutNh3O+IpKAUDQkj4ngZzXpIUWWYKNjIxHaeSmV9/kq7wNWtpAFesyLUokX98bIwPxwrmJgmyIKJyO2vQlH+IW5JMdspi4jTiCMgLkumctwqYxScc7JGjllnC8R/yA+/znVoAwpNW2eIQ8YczabdUL0TquP9kl0RSLcknSZGZrTqXdYillcwhXONJAuRpGVflqLBCjiK76u20Z6MVFuzYeAshISwiHBoMJiZs1xpUX7c+SukbTCC9MiIA93PHbDOkjpWJJ8Xd6Shp0mRvEW82mJlgF/hceDZPExaYaB3/cpzdaGs/N5EhW1+RWLRFNxJ/v0rvFgF/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KWigDYCvOnXSiIeYBPAQMzlYG08Hwbr07OkIWf+DZQ8=; b=gWvHGiOYthCXAc8UwJa/kgVAW71xZssWy7Yl9s3RY/5DP7oVoVbDE6bclXwLHWdqe+DVR2Fc+dj0jNuzQhh7bAxdDm2eLHNqGjFB+A5KkGWyCLrbS9icWa5EAjyKdZjcywlCVITFi8HlsGihwDeUfwgu5J1tgl0azi5+ABFTJgxojEWwoOCTTHFTJ/oWXyY14aokusXdfK3edoYFFf6F27chxhjDq3LRjG4rsTsOpf6QaW42M/X+83JYrVO9Nn1AR5o0JGZ61E0iJrKYw/QHK+V/hoktugJboeE7w+8qHxVqnRvaNdujI4qwAVq6NXZGzjwSJzLlpbS/uxXRdusDZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KWigDYCvOnXSiIeYBPAQMzlYG08Hwbr07OkIWf+DZQ8=; b=swiqnejduPUZ5zUNrhM4Ubu0Ctz/D2VTDWgB289nxnI0BUUDKINyWkFMXcVFwEgeQGnHio0FuaAMeY+a69FmSZdwxZMQWwxmYvc9q6nE++eUQNvdBDZ4Kcw7jz8IvoWJnKNZagsV5bpzKYz73CZlfMtKnyJCUmLNCbo7qvbqyLc= Received: from SJ0PR13CA0227.namprd13.prod.outlook.com (2603:10b6:a03:2c1::22) by DM4PR12MB5938.namprd12.prod.outlook.com (2603:10b6:8:69::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.9; Thu, 19 Mar 2026 01:15:18 +0000 Received: from SJ5PEPF00000204.namprd05.prod.outlook.com (2603:10b6:a03:2c1:cafe::66) by SJ0PR13CA0227.outlook.office365.com (2603:10b6:a03:2c1::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000204.mail.protection.outlook.com (10.167.244.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:17 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Mar 2026 20:15:15 -0500 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v7 1/7] dax/hmem: Request cxl_acpi and cxl_pci before walking Soft Reserved ranges Date: Thu, 19 Mar 2026 01:14:54 +0000 Message-ID: <20260319011500.241426-2-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000204:EE_|DM4PR12MB5938:EE_ X-MS-Office365-Filtering-Correlation-Id: 3afc2214-50de-4d3f-1dbe-08de8554fbb3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|7416014|376014|30052699003|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: u7u2pGroPXrVkXBuVaGLT6WwfBVDB8r1UaYlQj+YwC6YWO+seaMqa+7sUyhTLD/kpAoC91Mg8HDyKrLs40Q/23ADn6MSYa4S1KJxWGPARNQwFhIw0svjbkAOoVIPzKTSD/kAc5CHM/UsAQLLU35IIy40oEaqva4e0WuastbmWW4I/fKS+4Mra3zY8E5S9EbVGURVXipsyAwGX8BgeB4f5fSjud9uDEHEF7dj7yBq8uFNbMGcnB1mO3+eIMlLnF8/8u1Z0YmqNrcdiGTNsXocX5N61suboQ7dERLopaScvklFs4vvrsaN7s89W7OuxrQVpGiRhNZ0GJCNYWLdN69Aa/mf5Ii5AfjP+PB/yUakYuBiqammGh5gUCZJ7YMAeASKYb+TMFEcxWd+atyc+UEbdaIKUTRBrUTCkDEsWROpzNiby5MbWpiGAhRY11iT2D41HF3nT9FFDhuJKs6ZnZNaSc6UlVxJGGyIFYovbjt7Ii3t/NL9nzv6Mtp6d3rqXXyPUwulPaIO2hF8gB883sbyh32VOnK1GzKwAwJIdgSvJHJ1ZLCrj8bjW+v7SB1LV/a8vHiRdVncscFL+8FcZwx8EnRRkVGz1TSNset6VfA1pKKxz3QSpfBFsWee+izLEOd3ko7PpoY8bLPf7V6eKPcq2CguiLIawoQCLlqMJyHNlkeSLsQ+AP4zm/xj0oaO2BrZyazkcOGA6OpE8fKmtKTYxuXMLLU/1Z5jH9JOqEWcrcpzdldJNvGEQBQXYLhOFvddzHwzSbXGZ56MnHyeVV1o+g== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(7416014)(376014)(30052699003)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lgDkLkM+QnRzxv9uZULp94QKeXfZiuz1Z8ZNC8228IuV08o9+AElD4mrMJ7ZN0TwiMJLdZVQzX7M74xrsDyDhyFwcMfnMEhvd7I9GloUzLsjVAp2WaV+b93KBqgLfrMwMaPnPa+c5/nRG8l7GeBxzu0yHg1Pbx5+tQ5hwZ7dUu/hottbH9e4QCN6WhC+OnnoAfe/A0gHFWT8aSiOpNaQi9fgPFTMXDnO/vsmMpJCWypo3UxxApJ7BUh5iW9HcjyauI0EuqjvBpUQ4Q6RJ1E2kG2JDtyQQf2PU89mnoEnRS/jZuIN03ubnbXEAQmernNj2ZwKUfJA8tLCraAF8Np9f0HCN/hw9YmaGAiML7VRr3AkfwVta4SGJQnVosoDV1ACHIhVd5+s/bBqG8NMwRrbfEly0F36qBjuA5xu3Bi9tEyvk6tNHuw3b+otmg8KnG3l X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 01:15:17.8421 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3afc2214-50de-4d3f-1dbe-08de8554fbb3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF00000204.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5938 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Dan Williams Ensure cxl_acpi has published CXL Window resources before HMEM walks Soft Reserved ranges. Replace MODULE_SOFTDEP("pre: cxl_acpi") with an explicit, synchronous request_module("cxl_acpi"). MODULE_SOFTDEP() only guarantees eventual loading, it does not enforce that the dependency has finished init before the current module runs. This can cause HMEM to start before cxl_acpi has populated the resource tree, breaking detection of overlaps between Soft Reserved and CXL Windows. Also, request cxl_pci before HMEM walks Soft Reserved ranges. Unlike cxl_acpi, cxl_pci attach is asynchronous and creates dependent devices that trigger further module loads. Asynchronous probe flushing (wait_for_device_probe()) is added later in the series in a deferred context before HMEM makes ownership decisions for Soft Reserved ranges. Add an additional explicit Kconfig ordering so that CXL_ACPI and CXL_PCI must be initialized before DEV_DAX_HMEM. This prevents HMEM from consuming Soft Reserved ranges before CXL drivers have had a chance to claim them. Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron Reviewed-by: Alison Schofield --- drivers/dax/Kconfig | 2 ++ drivers/dax/hmem/hmem.c | 17 ++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/dax/Kconfig b/drivers/dax/Kconfig index d656e4c0eb84..3683bb3f2311 100644 --- a/drivers/dax/Kconfig +++ b/drivers/dax/Kconfig @@ -48,6 +48,8 @@ config DEV_DAX_CXL tristate "CXL DAX: direct access to CXL RAM regions" depends on CXL_BUS && CXL_REGION && DEV_DAX default CXL_REGION && DEV_DAX + depends on CXL_ACPI >=3D DEV_DAX_HMEM + depends on CXL_PCI >=3D DEV_DAX_HMEM help CXL RAM regions are either mapped by platform-firmware and published in the initial system-memory map as "System RAM", mapped diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 1cf7c2a0ee1c..008172fc3607 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -139,6 +139,16 @@ static __init int dax_hmem_init(void) { int rc; =20 + /* + * Ensure that cxl_acpi and cxl_pci have a chance to kick off + * CXL topology discovery at least once before scanning the + * iomem resource tree for IORES_DESC_CXL resources. + */ + if (IS_ENABLED(CONFIG_DEV_DAX_CXL)) { + request_module("cxl_acpi"); + request_module("cxl_pci"); + } + rc =3D platform_driver_register(&dax_hmem_platform_driver); if (rc) return rc; @@ -159,13 +169,6 @@ static __exit void dax_hmem_exit(void) module_init(dax_hmem_init); module_exit(dax_hmem_exit); =20 -/* Allow for CXL to define its own dax regions */ -#if IS_ENABLED(CONFIG_CXL_REGION) -#if IS_MODULE(CONFIG_CXL_ACPI) -MODULE_SOFTDEP("pre: cxl_acpi"); -#endif -#endif - MODULE_ALIAS("platform:hmem*"); MODULE_ALIAS("platform:hmem_platform*"); MODULE_DESCRIPTION("HMEM DAX: direct access to 'specific purpose' memory"); --=20 2.17.1 From nobody Mon Apr 6 15:52:22 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012066.outbound.protection.outlook.com [40.107.200.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F68627A133; Thu, 19 Mar 2026 01:15:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882926; cv=fail; b=fw2GERxh687n9uQrk38nPeUV7TPXzt4DvWZ7WBs/c1ceuIUfIPzIcYyrs5Y4GQoIxeCWhFM/OBzLfLnVzlIaIt7iso3WEi8nOqRivgCrrkxCP5BSesdolKxx9rdVvb6szWOi2zcJo/SpdBmke5MHA08oPSoEjQ0gaY9amdALRRY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882926; c=relaxed/simple; bh=lhgEXqFYtiGIWNx1Wl9A0CjBSh7dZID6gDP0l5DWu1k=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tQ2Rb6CnvIbM/e6mKS+TxzbqSiWStyfNTqNtDIBCQCgvnbJKBJBRB+gWGfKO1wpTxEj8wSpninGn51H7qoFhHxtJIL/Nmt7bwFu5ehYciuV9+TYQhohNxj6hwsdtuMOdMKVeB7e1Ac8mU8sKhb+gYaPY6+YiPJ6kzeTnvC072Sk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=nKaS1Q+F; arc=fail smtp.client-ip=40.107.200.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="nKaS1Q+F" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v1esKqqW0u0aWFPUGt5aNK8vpIJmDJH1A/a8RK851Il5FQbiAqXzhcvrrr8uYFcDjwPiEZA6aO03kYuAbkfXhYbr1n4lXeLfS6EYbDOF5mIrGHCQSbCA/6HsMSXZka/EipAO6Kd3Ebns9Vh/t6M+37vf3fXFtlKHVad6YEj+Y7nWIuZiL3Txi27UVdoKYPweZAqk3yfJTyPPLnx8sHPuzNfg0lwLBfzVGv0v6PZDYxSYfW+H4twW0BpwPwoSXurcNjVpAN/JNh+vzpCm/T/MdZGVoC81SAH+SO8ccE94O6uhxQTVOObnz7kj7io/w4vXyTp+fdPUMtlxO+OGrCBzhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zY1gDnoAXjMDXYWKgOo1fvoKFkLxPDBWJW0ZoQ6pw/U=; b=sgiRifeu+nYh96+TfAROwDvmxt3CasjUJ+tUFEYVpJTf1J/LcYN43MyemLqP3PeU6nHjjYy2EXwAxCSiMyejFuFu2nFY+aoSmJWTKOYwXrHB9bjr8BjbPvLmWWboC/Qnw/x7S6YxRG9f8BWvckSuUCFIUgQ2YohAjLJ2uQUA+dXGkdVRRm0kDpG+iwdbcj0JN6X2QsWXvj1Akm2uPpLBWS092qKZ7HK9vLOx+uFskwjulqKBB2NCcOHBjBEL6e4FXzpcQwA02JBvlLnHirSsNKtoOmF8aU23653z6eCVurgoaeDxnVcw3y0ol0gMPZpaCyWs11cAvgi81Vs7Ycl1hg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zY1gDnoAXjMDXYWKgOo1fvoKFkLxPDBWJW0ZoQ6pw/U=; b=nKaS1Q+FSVyfb7aoFbv7FRKvEbAn8MUJsCp5cFsWijKlT+Ehwt8Rw+XsfUE1qt/tCN5u9seZMrKdhKr3Gug/X/Qh+wGIGI+umWCkvX+GFtFpTaurWVDDqEPYo+s3ZCDU8xktZd14bTMqEQycd07n8mB/kFOQZke8/YnwSz2eemY= Received: from SJ0PR03CA0377.namprd03.prod.outlook.com (2603:10b6:a03:3a1::22) by DM6PR12MB4297.namprd12.prod.outlook.com (2603:10b6:5:211::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 01:15:18 +0000 Received: from SJ5PEPF000001D1.namprd05.prod.outlook.com (2603:10b6:a03:3a1:cafe::a) by SJ0PR03CA0377.outlook.office365.com (2603:10b6:a03:3a1::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.27 via Frontend Transport; Thu, 19 Mar 2026 01:15:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D1.mail.protection.outlook.com (10.167.242.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:17 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Mar 2026 20:15:16 -0500 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v7 2/7] dax/hmem: Gate Soft Reserved deferral on DEV_DAX_CXL Date: Thu, 19 Mar 2026 01:14:55 +0000 Message-ID: <20260319011500.241426-3-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D1:EE_|DM6PR12MB4297:EE_ X-MS-Office365-Filtering-Correlation-Id: a2df837d-f9b2-49c8-b56a-08de8554fbc2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|1800799024|376014|7416014|82310400026|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: z7+x0yhDM6XkHSJNflLq7Vsk72UE+m1RgxId+mRQgSGZZu5inrkYEWvGdxBKh+EWsYSszhN5LZoN1ee6TgyVBzFJwwr/PZiU4wOoxsuAt5Oa6sc+gjciZMBgkIJhLOF0/BCJ+9iMdq50Wc2EO7/LcWAXh8bAnaMMP21CDehpTWTbFGz2hdJ5fOOSj6ZRw35+QvGnL1ip7uvBBEcW7bmXSvLVI8Ly0FOa7uBH4Br6wHVjKbxcDHvKKbA4uGox87tlnZ9HTHOXK+ny54iJ5UJ1PVCAUAwOUxzNp4p8/TZYpHKYjJCU4PKCctgBlWDsqjH62LlocYblThgGF7tJoMvqxQSLi1kTO0AhwdGWwb3uGoMrwGJigZog76x9PdnHYT8M4EhX4AomMtrVpJieDK6Jk1xUkD8nr3bzthqTZqzBpyuPn0YtdhtHfXGrAOmdZrS/PvBw3BzZD31L5CV9PjH9P183kokRq6K1rbZiGq2BB3L1Vff/bQ1PlaAiNWcO8ZPJS/ZK11ZblfZTM8HKUn/cc1Wt9qIedUqckUQ2QYUQSfQe+fXs0/LoADw9+qx1YEpVl4N4qReLZ9CDq/mSM+nQGFXzN69WkYMJY00J3eWuDpzmy0XfN+tZt6NqFgZ1PnM2nlXmb+w0uu65GyBvpYUTINDkhUzAMGyE7HGE41Z/eW0A7Wloccn8C7Cp7K43Wb4vAEpf8vHmke8bO4TXLJRg2thSL66mmZqq6Bc9w/asMgYaL5qN1Ulq96teH/633Xg5k4ar48EMjQVcmyFQM0lgiA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(1800799024)(376014)(7416014)(82310400026)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mr8NXY+3uS1DzFcaCFJ2mv+xaCUxboSczPexnWBV3KRqRH8fE6c1hkiIZntoieenDd5XV6YUqVEwJeEpxhyA9AvbCfif+FWgol2NZ6ELDEt5L/ApKuBgQi1BSNJy8jJpB3R5GwuFxQVU0S2wFSrYVIqv9MSeb/33pDMTEDrYILydQxJgOi1M82pPGrYtVZHO6SQPA/wICto5EISInJ7CxmGDtSM4wrg4nb6t0P6sNuzf4XLlroqcWsn7Rl0ZHwwBezJ5+K/okaIs3gyrHDzqzEfEiJyEsFi67NlOtqZvsrdDzyAapSjyKHAHivZ/luPVtX5Z2Pz9fIF5SMhlVuGuGSN21NNs/qY7VaYZ5I9EJvuoe3qHQ7KofqWR2WPf+9Ec8Y3dWzUlInmT1OciV3In83Wiw/2CYxO5/aJ9238JlwMypd1qE5SKltzXFt5AfOwD X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 01:15:17.9675 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a2df837d-f9b2-49c8-b56a-08de8554fbc2 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001D1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4297 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Dan Williams Replace IS_ENABLED(CONFIG_CXL_REGION) with IS_ENABLED(CONFIG_DEV_DAX_CXL) so that HMEM only defers Soft Reserved ranges when CXL DAX support is enabled. This makes the coordination between HMEM and the CXL stack more precise and prevents deferral in unrelated CXL configurations. Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron Reviewed-by: Alison Schofield --- drivers/dax/hmem/hmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 008172fc3607..1e3424358490 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -66,7 +66,7 @@ static int hmem_register_device(struct device *host, int = target_nid, long id; int rc; =20 - if (IS_ENABLED(CONFIG_CXL_REGION) && + if (IS_ENABLED(CONFIG_DEV_DAX_CXL) && region_intersects(res->start, resource_size(res), IORESOURCE_MEM, IORES_DESC_CXL) !=3D REGION_DISJOINT) { dev_dbg(host, "deferring range to CXL: %pr\n", res); --=20 2.17.1 From nobody Mon Apr 6 15:52:22 2026 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013058.outbound.protection.outlook.com [40.93.196.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 697CA277C9E; Thu, 19 Mar 2026 01:15:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.196.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882926; cv=fail; b=a50IlngFrxBaAGkcuREt0tzP1u1pdgLgfDwCwUyYw0frNj8eV0onTHHdv2LfrgzNkaKODkh5fF3mAHFsF0tfAS7bqMqKbzSQFy/zI2Y85Bxfp503oAQGAN6abnPhflz12kDSSSeL0dQVCeTGfiQBTAfrEF0p4QAf7WerGj8HTHA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882926; c=relaxed/simple; bh=p6RolRsSRS8Z+16Ku2/zxl1+Z0/L2HBZxyrVTAHdvsM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=PJJqbPffzNCPAU6O+TOTKMxfM7diS7+3IvPCnQFFOlDZn48uif+M9Du9RPfZwA2gH85ElSpqu/46GfdwB3EESXinF+FRRHV5WqQ1XsAYMkeb6orrdOVuUcrwZvSvDJwevgBDLvfzNDaeWG99BrQiPGq9M7Lxi8rfI7vRV2VPmNU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=YbNYHlIc; arc=fail smtp.client-ip=40.93.196.58 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="YbNYHlIc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HpS1wpKwOX4HdFEnB/LlOxKveXxzXyyupmjoDhDhas0nFzkfLb+qa9HMWme/i9lZDFwRebRnmZNHRPsNSNAksmBlI9zoajTr2L0lilo1Uwm2g03hddb4ohpw2WevhFN9gz4OWyWgmcPV0ai7qxskSTxjepfAwH0zYdbpRjqleIfc8By90Q8FhRiV2Zz+7UQsyJP3jfa4PpN2SRCjR9sRB85vPCoTbqZnGjEVYojT9egfJ/G/ImwjkJZc7tfCNHSMnI+lwnGi7NLz/OrZlrXf8/9ynrX7X9ANc00eb4aXxRzpHIWh0PNSW/JsV6bnI6boC/tpoM8+jDASZTOmd0q2VQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4DP0t0eS8SW+roTZpq1XYy34wLQKLkoy+NI7r18WiK8=; b=wl5u/kxw2xotxtGI6BL5w0lldQb4JIaMsmvoxLDjg8ImYSDc0xTmIJ9z1UjbOoWEmiyU0ySHtmwoVgRrKGf0HHHHW2RyZhCGsPaInGHoAGSNyNy/pF/jA1+3mEJCtw+zbIUfKYWcAPCBLTCYTrbm841xOzbE7M5gDLmldltJXPaK5zmhz52i4VviHgG3lMA/VwcmDtG/jTUInU5BHPsM3nXnzGkRqapVmDhfF1PiZHHE3Oj82hAC7jQzDzkZxiqJKu84uTcDNT5dVzbjSHev7aGAeiB38OFjHBChLP9WC/u2ZrGn+m2lstTfmcYfB6Q2aKN3RrfiCoqRdZuP50J5Xg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4DP0t0eS8SW+roTZpq1XYy34wLQKLkoy+NI7r18WiK8=; b=YbNYHlIc1AimS16u1OUUuJ6UISNXGdap0E3/yDVxa0yp2ZKUmccakgoxgEMSeOct9QFOL9ucIPnRXOqC41nTlTjlXxy4z08IXZT7H0W6lpsDrjFQhj60Z4R+mqgzRurdIzmHHdnqCgyGjoAiF9JTzl9/Opu4d+dj07xaZABURbo= Received: from SJ0PR03CA0371.namprd03.prod.outlook.com (2603:10b6:a03:3a1::16) by MW4PR12MB7381.namprd12.prod.outlook.com (2603:10b6:303:223::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.13; Thu, 19 Mar 2026 01:15:19 +0000 Received: from SJ5PEPF000001D1.namprd05.prod.outlook.com (2603:10b6:a03:3a1:cafe::2) by SJ0PR03CA0371.outlook.office365.com (2603:10b6:a03:3a1::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.27 via Frontend Transport; Thu, 19 Mar 2026 01:15:18 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D1.mail.protection.outlook.com (10.167.242.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:18 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Mar 2026 20:15:17 -0500 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v7 3/7] dax/cxl, hmem: Initialize hmem early and defer dax_cxl binding Date: Thu, 19 Mar 2026 01:14:56 +0000 Message-ID: <20260319011500.241426-4-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D1:EE_|MW4PR12MB7381:EE_ X-MS-Office365-Filtering-Correlation-Id: d0492144-eeed-4d70-4905-08de8554fc4b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|7416014|1800799024|376014|82310400026|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: h5pNGFzZo1LHHJNUWC5zW2kNsI8Kss2DUB9TLc/P78P2H4LDTqZlNOE20mKffpJwH0ujqyFBsidssA2Mtj/T6m+uHIja1DsDjAp3d10fecxvlLnvTp22XALytWRJghEVnRmMfQwsmm+1S6VoJ5NjiXKq+SHKT3TcbTySujOyn6rUfw5GKgBiPXNeDcVJ8tFL1T4Fyim03KmriBxzNids/LYrgD5/0c24aRy1yadxjdQtpbqpEBe4RkUglZA2ZVPE8JId5RpJjXAqjNeKXG8t26mOeu9qfjD0QmqYu/hzr02rqg3F6Q9HKmSGw3bfCTKcmjM0mXqUX1+Bjpz6f/yG10KSpb+N3RdA3z7G6YkK4eaB2DSoVdbUMmRQur8533tNka/ZmQ96243eWP9+6rfQXQsMYV5y8y0Bbcpshkuby/2Kzi8dDqzMB9LrdWRn4soJ0c8fyN6ZF5GgYOU+pJ4DhrmxOUhLF7NZ0PxEfT5PrNDzNRa60RnwSMU4WhdOdk6qre5bKOXb7XtMeE/oTFDwniDXiJBiy3pWe4rnE1c+PNQaXCtDSQBY+vR0aBv83l4ijvkwZ3CGFaCuCfadV7tAH5958OcgB5BUcvd/azskiDz2RIvJhZn0YyACaZ7ZkaJQOM7XAVE1edTgbdUc6PlBcy3H2Me3FedEIor656yzPkYK+c9orRMDx7thKk/NO1u1/OzuvbBwNceLp1Pr/ivZaEK1DGWWirAmVNKr/LRvbHC2Te+a3+izv7tc2ixTACKaRUf/L/8FvCwRUQTM7PHAyg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(7416014)(1800799024)(376014)(82310400026)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UMtuwPpvpsyQ7tOqp5dpsCYNg8eWTTIiDCE5egQX9ecClS3W7iwDXXgyVylYv/O+xP+brHPlBg6LvcERJUrPgZf/rRB9G7Web3G5otoZbuWOM6t/8MBpXMbqptmOZTUHq8uGkNRH/etQRt3C0cITwSijDsBP2DZF3HgfgoYhPMW4l0XPwfK3XHloGM2EBrzLI0Hh2c8m9lhXzxqzCVeG/Po0gyzJiv8yRNjE0ow+WWgeXFKbZNxXn1fRzgnds7Ogq30xQK7afWK2RQvrOm4PTipl8D02X62wI/Msc0MDeo5noR3RDuAOVsG1RFL2hh/C0iO9R0HQNjwMbI+HklyJIrk89C2bdafCcsusnrhuYLEFCYeerA6lHJgyd+Msd1KMO/vCcwcOjDBtltpImvmR964EMWE7A+eAu7d2scQD7diF1TvWeWswn+STipKGXr7x X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 01:15:18.8386 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d0492144-eeed-4d70-4905-08de8554fc4b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001D1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7381 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Dan Williams Move hmem/ earlier in the dax Makefile so that hmem_init() runs before dax_cxl. In addition, defer registration of the dax_cxl driver to a workqueue instead of using module_cxl_driver(). This ensures that dax_hmem has an opportunity to initialize and register its deferred callback and make ownership decisions before dax_cxl begins probing and claiming Soft Reserved ranges. Mark the dax_cxl driver as PROBE_PREFER_ASYNCHRONOUS so its probe runs out of line from other synchronous probing avoiding ordering dependencies while coordinating ownership decisions with dax_hmem. Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/dax/Makefile | 3 +-- drivers/dax/cxl.c | 27 ++++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/drivers/dax/Makefile b/drivers/dax/Makefile index 5ed5c39857c8..70e996bf1526 100644 --- a/drivers/dax/Makefile +++ b/drivers/dax/Makefile @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 +obj-y +=3D hmem/ obj-$(CONFIG_DAX) +=3D dax.o obj-$(CONFIG_DEV_DAX) +=3D device_dax.o obj-$(CONFIG_DEV_DAX_KMEM) +=3D kmem.o @@ -10,5 +11,3 @@ dax-y +=3D bus.o device_dax-y :=3D device.o dax_pmem-y :=3D pmem.o dax_cxl-y :=3D cxl.o - -obj-y +=3D hmem/ diff --git a/drivers/dax/cxl.c b/drivers/dax/cxl.c index 13cd94d32ff7..a2136adfa186 100644 --- a/drivers/dax/cxl.c +++ b/drivers/dax/cxl.c @@ -38,10 +38,35 @@ static struct cxl_driver cxl_dax_region_driver =3D { .id =3D CXL_DEVICE_DAX_REGION, .drv =3D { .suppress_bind_attrs =3D true, + .probe_type =3D PROBE_PREFER_ASYNCHRONOUS, }, }; =20 -module_cxl_driver(cxl_dax_region_driver); +static void cxl_dax_region_driver_register(struct work_struct *work) +{ + cxl_driver_register(&cxl_dax_region_driver); +} + +static DECLARE_WORK(cxl_dax_region_driver_work, cxl_dax_region_driver_regi= ster); + +static int __init cxl_dax_region_init(void) +{ + /* + * Need to resolve a race with dax_hmem wanting to drive regions + * instead of CXL + */ + queue_work(system_long_wq, &cxl_dax_region_driver_work); + return 0; +} +module_init(cxl_dax_region_init); + +static void __exit cxl_dax_region_exit(void) +{ + flush_work(&cxl_dax_region_driver_work); + cxl_driver_unregister(&cxl_dax_region_driver); +} +module_exit(cxl_dax_region_exit); + MODULE_ALIAS_CXL(CXL_DEVICE_DAX_REGION); MODULE_DESCRIPTION("CXL DAX: direct access to CXL regions"); MODULE_LICENSE("GPL"); --=20 2.17.1 From nobody Mon Apr 6 15:52:22 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012060.outbound.protection.outlook.com [40.107.200.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B116B274B28; Thu, 19 Mar 2026 01:15:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882930; cv=fail; b=mQF2kb8VM7S+QjwDLZm12+oIpgfYPmM2lwxXUwy0lD1I4T1837DkomeyC1ONReQkTAS3qs5NEs4uCDON9vf8etOXq/A7zWrnplZIa0LF6gp7PQwoP9kQClvYwKMUmSkW2+7Sdix92YhYCFKE+e+G16u6ChQqNy2Z9a4UyrCyw6A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882930; c=relaxed/simple; bh=xN7OnDcU64g2Htoiba7oZYi+s9i+z0+6Oexr5FsaDpY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mEMiBFvY2RXiSBQHWq+aKul9jp1RvFZdWNAOzUQjcj9liJO4wE14FoRGsU0tz1MSRHczVZmwIR/hgKacoQcDE6OIQO+GazHE0/K++lY13odb/XAuMoLNCeUdt8K92jT96pvTdhfBP1DweYa9FG4ChUhF0aI7XOXeLRJVRvbuYLQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=NC/vXdWO; arc=fail smtp.client-ip=40.107.200.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="NC/vXdWO" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Plv2z0nnzUHd1q+N4j1NAlwqJe004XIp7QGiK8aYkFZeQB5bctHneSCG7qJyoVHEkughVE80TVujTyhKV0mv6ObmoMWMzqGCngDAyNeosHaZatNea3sBfIyxYOXuXhJoGdqbs12Gx42e2PXN4gx/Htr205CC07jjtSr0jFzU5NAUGf6iLdIReZXy9lsoqGiQsQrR2+EYeFQX8NFBRoyepE0OAZEA4+fXKDnH06UCdZ9jgHrRksQuDv5AaoWPmTTiOOrJAR3sZhZNT6mn7Dlm/+0mS0XNYoNwOPsbVBb0QHdEMw91jWqwnNEOL8M82TR0BbD6xMX/VNG3D/JuJlRKng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FrCV9HOXBam/sXSxJNQkXdCA1MPqyk+1k+L4Ha43EmI=; b=O1HUpCavZjkLlrhEeZ62Nby1QuW14GrkiP88OktbD+l4nHkuL+duSzvkUelcGZjKsLlqO8S67k91qL9sUNfd2VC27L2xxprBgtOJfmUI3K7fe7Ms0k8RL2ZA9aYKW0VH4c5QzdWKX5TCX4toBbI9zExfJepmUMYupoFM3OHOW1nMPN05Qmr4FCJRUO+mO14/0SUYdJ51TXT/bTRwQp1ee/LzoGNZPWel/3rxkXPj1b2QEZtShBZl6sFbtrscTXa6+LWnlDN04PTQw8TMIp+e/S6Y4n2vrvewB/tjumeLbO9UYufxUFPEErsV5i2c370AztG4AWpG117ts3RIxjSuiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FrCV9HOXBam/sXSxJNQkXdCA1MPqyk+1k+L4Ha43EmI=; b=NC/vXdWO1OBBGROhSNIRJWng2NqLj/fc4jRIzJTQbxed658yaCgZC72e/LdFe/4JOxcOpT1DUuyz/4bR3sA4XeK+eDMrQUq5wonrsWyL+2Tv5xUmE7yyAi1FXmbTC8qJ+nf/uAzWmg3XGAYkuHq4I/7f45MkwxIdPoXVC15Hws8= Received: from SJ0PR03CA0371.namprd03.prod.outlook.com (2603:10b6:a03:3a1::16) by MW6PR12MB8759.namprd12.prod.outlook.com (2603:10b6:303:243::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.8; Thu, 19 Mar 2026 01:15:19 +0000 Received: from SJ5PEPF000001D1.namprd05.prod.outlook.com (2603:10b6:a03:3a1:cafe::51) by SJ0PR03CA0371.outlook.office365.com (2603:10b6:a03:3a1::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.27 via Frontend Transport; Thu, 19 Mar 2026 01:15:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D1.mail.protection.outlook.com (10.167.242.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:19 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Mar 2026 20:15:18 -0500 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v7 4/7] dax: Track all dax_region allocations under a global resource tree Date: Thu, 19 Mar 2026 01:14:57 +0000 Message-ID: <20260319011500.241426-5-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D1:EE_|MW6PR12MB8759:EE_ X-MS-Office365-Filtering-Correlation-Id: a4ddbffc-5981-4e37-a379-08de8554fcb5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|82310400026|376014|1800799024|36860700016|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: b/7XAG76WDEQVPu7Qik+02NiIcrGhdkLnEeYs0s6C1oIqT6/e9mMmIiYDO9BZm8GhanU3Dg4MexwxX7SbQd0UPTH32yFRJ8hBvf/V8rBAdEWvS0elkoT4ZYEk4HP8G/Vb5sPBSALapaLlAm0qETEBd50Q3IIzMUD+XJ3/C+hvH6cdgvKpZxKmrYHyD6oX0LZ+Z4MSIQSinnxOFArJNVR+QcWd57Sr8URGYfgQdXYUUW4/PTfWPKKCUpAOXyCmcWSfOrfHiGZc0g8M9+zW7BN9RL7WHcJndRaWel6g8qxc/HH6r8R75XqUGuWlJM/9GV1PBwjR1b+trNqGbhCoPXvJN/zPPVudUUE/f57pY05uj5BPvoIdkVN4YdQCFTG4F1y7Lx5wCuc3j0EKBAWvikegnioc2gsZJWqoR7UMtgmYtTXVBQ08CZldWOQkziVPwGLaDuH/uE1rWZIrLASQh7tn7yePYdTXPEci4Jkwcbhls264GH5IZETpUOGb4uJjdKDiN37QsM3GzAw7/Mgj/N7mMRAQAk6U1uhgUzXrxp4rt+b/jMhCHIRwyQTBS6ZYmY/mNCzt2uS2PsN1bBwyvnYALCQRzH+jgxw7dCjuScAipOduTJGpIbgrZ7sgc2t9+vHk1SWXxGSfOZyjuGsCp2h+o6oBigOIt50XcxNOT/676grY9j0o3trrLCgfYYlXT2S9B2lIWWnPECn7Crv0a9zrCqQJzKxUBpELTfBNzQIvuFO8rNVjRSXXAwrC54DMh1uvD8OGKuRNLP0giUH8KUepg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(82310400026)(376014)(1800799024)(36860700016)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JeCOHLyZ6pdGw6U5oph9VSJ9QS/U9NG4GfWW7ZL7x11HYEaq7AciKuZNibdZcQeXX41nMX5ZKQriKoom5tPFkTKhPdqOnzMQ0SSIKFKM3xJiWWRXRqR6REyHj9gnrK/SVnLWBdwh8jXIQ23mKlKxfbsg8YWB3iD88MwmSIujs+mIDi5Av3ldDr4mzw2R3dadwoPQ+tODXnVjdeCT467zINpalXqAxxmT6P5UEVVy2WABiQ52uQJ9bEvLZw0wOF4IWZ8cEUQJsRADcE6uWbAJd9ZgSdPBJnKPsmgKobk50L+L+7GJnT8qQhmt0Dhxj99BWgzeSRT4MHM8yHVBCzW5VId0yQEEJ2xRgi4lDyrgIS/r2lMGnU6GErpND/3XDcAKY/D2u448Xw1xm3CPVmOfU9VOhow0GtryHxsvdkh4hBSCAy6QpAunw8WGqNBx7RWq X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 01:15:19.5582 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a4ddbffc-5981-4e37-a379-08de8554fcb5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001D1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8759 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Introduce a global "DAX Regions" resource root and register each dax_region->res under it via request_resource(). Release the resource on dax_region teardown. By enforcing a single global namespace for dax_region allocations, this ensures only one of dax_hmem or dax_cxl can successfully register a dax_region for a given range. Suggested-by: Dan Williams Signed-off-by: Smita Koralahalli Reviewed-by: Jonathan Cameron --- drivers/dax/bus.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index c94c09622516..448e2bc285c3 100644 --- a/drivers/dax/bus.c +++ b/drivers/dax/bus.c @@ -10,6 +10,7 @@ #include "dax-private.h" #include "bus.h" =20 +static struct resource dax_regions =3D DEFINE_RES_MEM_NAMED(0, -1, "DAX Re= gions"); static DEFINE_MUTEX(dax_bus_lock); =20 /* @@ -625,6 +626,7 @@ static void dax_region_unregister(void *region) { struct dax_region *dax_region =3D region; =20 + release_resource(&dax_region->res); sysfs_remove_groups(&dax_region->dev->kobj, dax_region_attribute_groups); dax_region_put(dax_region); @@ -635,6 +637,7 @@ struct dax_region *alloc_dax_region(struct device *pare= nt, int region_id, unsigned long flags) { struct dax_region *dax_region; + int rc; =20 /* * The DAX core assumes that it can store its private data in @@ -667,14 +670,25 @@ struct dax_region *alloc_dax_region(struct device *pa= rent, int region_id, .flags =3D IORESOURCE_MEM | flags, }; =20 - if (sysfs_create_groups(&parent->kobj, dax_region_attribute_groups)) { - kfree(dax_region); - return NULL; + rc =3D request_resource(&dax_regions, &dax_region->res); + if (rc) { + dev_dbg(parent, "dax_region resource conflict for %pR\n", + &dax_region->res); + goto err_res; } =20 + if (sysfs_create_groups(&parent->kobj, dax_region_attribute_groups)) + goto err_sysfs; + if (devm_add_action_or_reset(parent, dax_region_unregister, dax_region)) return NULL; return dax_region; + +err_sysfs: + release_resource(&dax_region->res); +err_res: + kfree(dax_region); + return NULL; } EXPORT_SYMBOL_GPL(alloc_dax_region); =20 --=20 2.17.1 From nobody Mon Apr 6 15:52:22 2026 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013027.outbound.protection.outlook.com [40.93.201.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A8B022BDC28; Thu, 19 Mar 2026 01:15:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882936; cv=fail; b=LteOXfkJ+sK7t7492J4n+OMpRbJJCxSb2kfxa6aamYieRGv6iTC3QkUZFf3ux2W12Toim0ac7sf2xjCBycUBR/cg76fXOuJj+Yuz6p2bnhL7iMkTLKtI4zKbSgQJQVxYphImCMkXinoAWExMWAgkqOJCO9/UQLBuiLJCs0sS5mU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882936; c=relaxed/simple; bh=4Pz8zuLPpAfB1mfqyilZgIDPPyJmXI7rO3tzaUJvq0M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Y/fZ0G135yosVT93QUx2JvhJXvcg4JTiFR6T4PHMm7zi+2iX1GqMU5zoG0yWYWAUarnlVrIQGUhbuUzPbGTdwIXbqdVrb0gh9N/oyPcII7xYbFt69zU0XNS7+NkIMTaBefAcCV51XaH9FRwUvdNic9aLWq8HT6gcQM8PUoOlk8U= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=FHjdK7+L; arc=fail smtp.client-ip=40.93.201.27 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="FHjdK7+L" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Is02ymR2ssnfAwac5PQP7GgECCYSoYSChkjhH73Svq4hWpdfXhnoTyAl1Esk0/i7WsBgVDCbP9Up42SUH/wEa8KEnngkEUBi43/lVCdZhWogbY3jE4fgirr38K34CkgKKpB0dcLdO7LpfcNCcLtP6id3HLkAS066cLRc/6fj3nEmGM4I8/y+dAaVRnVsW80AXKlQkRsjipodufGuYXjD6pvTJkT/6kUgDvbRwN9EtJPLKNcU33IOjPIHNUhWIPHa3J+BlE/P/QP+fx7eRUX8SqHtdcN65s0JFiLD25BW+7JiFNG2F8+TsmMFjFn12i9f/eiAsZFQmcMwKFT9Kc9XSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8HMj2L+2i0e/npbp46MnVUz7w0yK6u/uXYdI0zE2rEA=; b=rBP1VFdSCC4wSHzRKpOsWnwOnSt7mv/M6Fzvc1P0mAsHkRUhq3q4iwblzsPJx32VgivqGZd5KsyxndC0myxz2k0YzyGsKuCxITAf7qDJYtSlFWee2y+vNhhsAO/agwGoOc6NgkVT67VK89a+7c/R5hPm3oaQWAxrFHLXX9WBbH7c6jVkspHGcXx2ObRAGOHjiPCTAOwF2jCiA89AyK7OfhaN7f5U6ISevtrJs11j2OsJVKxBknHsFfrHzTBll8Isif8L+il1DDHUoGohrnJhjbex1axpQxhyNJa6BewecYUmqwJm+jPD178XjIIdE+gbwVvLZzbP8yURd8kBzT5ywg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8HMj2L+2i0e/npbp46MnVUz7w0yK6u/uXYdI0zE2rEA=; b=FHjdK7+LPteljRoV1JrIEM/J0kFbtEhG3j5RXsH9MI0JNcRC/rdSnu9D0a9uMpCJY75O8O2DKMX1qcjnLEzpt6M8fUilHygWnQE3hM8VO20bp3ZR5Ia/ZBMMxT8Nh2b0K2RR+H/eMwEomAwPfKF1U9TzFjvE3snAp/nQ9f/DF7s= Received: from SJ0PR03CA0376.namprd03.prod.outlook.com (2603:10b6:a03:3a1::21) by CH3PR12MB7617.namprd12.prod.outlook.com (2603:10b6:610:140::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 01:15:20 +0000 Received: from SJ5PEPF000001D1.namprd05.prod.outlook.com (2603:10b6:a03:3a1:cafe::5e) by SJ0PR03CA0376.outlook.office365.com (2603:10b6:a03:3a1::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.27 via Frontend Transport; Thu, 19 Mar 2026 01:15:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D1.mail.protection.outlook.com (10.167.242.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:20 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Mar 2026 20:15:19 -0500 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v7 5/7] cxl/region: Add helper to check Soft Reserved containment by CXL regions Date: Thu, 19 Mar 2026 01:14:58 +0000 Message-ID: <20260319011500.241426-6-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D1:EE_|CH3PR12MB7617:EE_ X-MS-Office365-Filtering-Correlation-Id: 49d6f362-8f31-42bc-56fb-08de8554fd3f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|1800799024|36860700016|22082099003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: E30iZnEFWhmfeBpyqdx3uQH8BbTckG2AxAlWNUDEl3lNFU4XbGgz3EnaGQuWC6ja/vTMn6o1+L9WST8bPRk1Lh1cgPZF/y0uT2poGjDa6s5CovxzqAMceavg6ypeH7ZH61TuPbIJf07vXYkx5ssXyTIZGqdkh9ELR5i0l5yuOp+EF6/Jf15rmUr54+eaWVWNKhKp5m+IL+NRIroI45C+z6+5rK4e6mwGgaWVTwcVonP/JB8rpsP0MaGMz4q9gmDkjFQAn6Clt7ADFl63+ntQeqsFb9bLlJCsfNUwFn9219TAZFWnRiP5G1i5spQv6QCNH0j5Axqj7YQCWyZ2vXjLVYUgJWwy2T5jgo1OW8wFX4PloPcFXoGlEJMi0NRGSGXyjW2M/g57Riwvslyg9g+xtORIhPgpWDYKxzHoxR9iTJyhZ24msk/RSjwDV+1c9ydnv8FLOpw8w7upJFD/Ky6HjczbbvAWxpdSTPvbHCk9yfzVflEdkNXJq64DjLlS2/N+qPw/fkt7eIm3nB4o+yciWVAolyOQTC8W+45O41EJU31BlkdLzMOQk/7HzynwYyqPrnfZirVOSdbXV1nF39PBOnj2pzpoi9wSG4JzfOS1mq1UR0/s5UYaBHuEakV4Ur4x008fDjstpflh/FtEPJB0GT2bCUWTlMze2Kk6W78A7gOIztVrs3ZNkxAkcqYYrORloCJnV/Pcd0OTzmPHELMMKfb/jRzUnfz3r1okI66Ol0mT1VRENNYFlAodO+3Vs9rcXdQHNEXLE6RwE8de2HvQ7g== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(7416014)(376014)(1800799024)(36860700016)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dwTOgNqCmSsq9yJBjHy0tJmFXuWU9VxN0wdnhbCBsD63yIwqvqMUbyxJuI31P5ErbSsDLUpOgNWGNvvdYFfV7/fbObBzQJCnZ6OauusPyh5XQERGMRqzpUBz/43iqfxQ7GGBBDJK01wjad0SE3E9AAGqO/SJg3SzPAq64Ovbk3ZpskZQibJT/MvOzHME0/KRsPNHfddmfr8oReMNOKGWUwoSOSALtgzYY2QY9qXw0OtvPmA00wzi75Yz++FlyPnTqk/zOg9ElWgEeA6TAP/cBenygTIH6TvJKcINCgevcg7oB6UtJlztKHOrZQY2+VATdlzArYXd/D1gTxFbsl+sjvzM5XqnoTpZt0D3J/GPRl498fUT7KK7YPgw/DALodoKVotrvdU2e49+ND+yiZYbNlsEkHZezKFA1W5o9OQQK+7EanIKShBbPP/QrnFjl6x1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 01:15:20.4624 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 49d6f362-8f31-42bc-56fb-08de8554fd3f X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001D1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7617 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a helper to determine whether a given Soft Reserved memory range is fully contained within the committed CXL region. This helper provides a primitive for policy decisions in subsequent patches such as co-ordination with dax_hmem to determine whether CXL has fully claimed ownership of Soft Reserved memory ranges. Signed-off-by: Smita Koralahalli Reviewed-by: Jonathan Cameron Reviewed-by: Dave Jiang Reviewed-by: Dan Williams --- drivers/cxl/core/region.c | 30 ++++++++++++++++++++++++++++++ include/cxl/cxl.h | 15 +++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 include/cxl/cxl.h diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 42874948b589..f7b20f60ac5c 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include "core.h" @@ -4173,6 +4174,35 @@ static int cxl_region_setup_poison(struct cxl_region= *cxlr) return devm_add_action_or_reset(dev, remove_debugfs, dentry); } =20 +static int region_contains_resource(struct device *dev, void *data) +{ + struct resource *res =3D data; + struct cxl_region *cxlr; + struct cxl_region_params *p; + + if (!is_cxl_region(dev)) + return 0; + + cxlr =3D to_cxl_region(dev); + p =3D &cxlr->params; + + if (p->state !=3D CXL_CONFIG_COMMIT) + return 0; + + if (!p->res) + return 0; + + return resource_contains(p->res, res) ? 1 : 0; +} + +bool cxl_region_contains_resource(struct resource *res) +{ + guard(rwsem_read)(&cxl_rwsem.region); + return bus_for_each_dev(&cxl_bus_type, NULL, res, + region_contains_resource) !=3D 0; +} +EXPORT_SYMBOL_GPL(cxl_region_contains_resource); + static int cxl_region_can_probe(struct cxl_region *cxlr) { struct cxl_region_params *p =3D &cxlr->params; diff --git a/include/cxl/cxl.h b/include/cxl/cxl.h new file mode 100644 index 000000000000..b12d3d0f6658 --- /dev/null +++ b/include/cxl/cxl.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* Copyright (c) 2026 Advanced Micro Devices, Inc. */ +#ifndef _CXL_H_ +#define _CXL_H_ + +#ifdef CONFIG_CXL_REGION +bool cxl_region_contains_resource(struct resource *res); +#else +static inline bool cxl_region_contains_resource(struct resource *res) +{ + return false; +} +#endif + +#endif /* _CXL_H_ */ --=20 2.17.1 From nobody Mon Apr 6 15:52:22 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010024.outbound.protection.outlook.com [40.93.198.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70D90287265; Thu, 19 Mar 2026 01:15:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.24 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882942; cv=fail; b=uoUhA8GBf2ELV/F3FHNgB7v352SjLX3fb7wQsV2w4VwmcydOlLul/MfT91b+cHvrlInIoUFoPA+Yz5RcNKWgaEhfsK0xG+/cD7tj/BotfIr/mIfbv2XdsKyMdd+ufQcFWlLr/zMu3WcMet4dy3PVnB8XtfSgsLSGe/u4/0Bi63w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882942; c=relaxed/simple; bh=zcP5+M3q0f/2FReTWVz3B4EJySMB08JxkmNaNcDwRV0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=DuYlmK7IT6+lq/TMNuQ78f76EcriyUmfZU7fY3Y6UtaTjlNXIpkxbiauUwaqQAFUv3/M6WpewDe2XfUCCCXNsZ0EbRTCxD9dSAwJZrIX41Qwdh+kxdRgroPqjTZJix21b5WKtyKD0SbHD3cgMxMM2kgiT7artzTs9r8UYg58j04= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=m66ckwFu; arc=fail smtp.client-ip=40.93.198.24 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="m66ckwFu" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SGRmMNt9Z6EKu9rhRhPmPmtpSSUEJYmjmfw69VofhE98d/1IVg64EDbtnd6cVMp0j7e7JvVpdfLjvExrICZXy3a+wd7p57sZT1YTVOJjghjU7HdkqkMsUmNt50bZL8PpgN5T+wPWUdYnbjRKDC5KeRshMMc80wZG70N8sz+SVtsi1lnhfVJki/ZA5HZgC+ayxYsmyPJucrI58lP6tOUVdiqIOwQocDpCTGUDtDKetr41EveX33IsOh7QanZ4xzjzGAb0G7QfjAa0j2VetcDsDGSBVKA7odd/YCB94/XbMAzoh2STJjwB+DJCYQfnf87q7fdkOu3Aswp5tAcW+ZATFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lS3UEvS45rBwpHt3Sbd7Rl2T+LONac44wmN+WIRyB2A=; b=aoa/Hanes6kuP2Y/D1FtmG26uaTwz9MvRrf0mIQhOwLwtxmAgUJWu6IABb7eU3qD5sQBxZB4XgA0MCvTX8kXJxkI2sAHSsvHdh+SkcY1xy0V0qa790vfHCYmIoGTs9h3Lnw8GQqpDzVgnt8jWUlnP7qbifXfH882+tTKmEFv4rHIzXTo5fjtwvdIRhPKjeK0CDvjO5Rn/cEvOwt8UoKb+zcmP0nA23QRxn6SfMpi/yA7W2gwxMPsfqeyW8ZfvHWYgTAA9UNjy+fd6r2UEq5D8QQmd+KdNaLIE1z/lIW9zzYbgG14a2smLs2x5kUoivUkwgK+1beKqsnG8NQuTzdQJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lS3UEvS45rBwpHt3Sbd7Rl2T+LONac44wmN+WIRyB2A=; b=m66ckwFuMVbjXMXIqCYtYP/9GYgSUYh9SuZRmqfC+nEkMOV49Z2wARrBOMQ9RBfY9if8vf4kIOMVtuXccLLsoozQqeLGfph2drXBmKHaClBHCAH4eqjJ76W8C0oYimrHDibAwt00g24uFJqELjpMR2gt0z9bGKIz1Io4OYr7BoE= Received: from SJ0PR13CA0222.namprd13.prod.outlook.com (2603:10b6:a03:2c1::17) by BY5PR12MB4146.namprd12.prod.outlook.com (2603:10b6:a03:20d::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.9; Thu, 19 Mar 2026 01:15:28 +0000 Received: from SJ5PEPF00000204.namprd05.prod.outlook.com (2603:10b6:a03:2c1:cafe::f8) by SJ0PR13CA0222.outlook.office365.com (2603:10b6:a03:2c1::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000204.mail.protection.outlook.com (10.167.244.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:21 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Mar 2026 20:15:20 -0500 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v7 6/7] dax/hmem, cxl: Defer and resolve Soft Reserved ownership Date: Thu, 19 Mar 2026 01:14:59 +0000 Message-ID: <20260319011500.241426-7-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000204:EE_|BY5PR12MB4146:EE_ X-MS-Office365-Filtering-Correlation-Id: 73902048-fe87-4f1b-695f-08de8554fdd3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|7416014|376014|1800799024|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: BHB+HV6bnLwnoZ/7SxS5QToA7OwmJ4kfyiymq0s4lfju+Hk2hyHSAF0ya11gc2TKIe1Q+iioLAudR6EWmHSuivrkhiY/bdTUoiryoxQLeYyaRM01A8xjq+dxrSBT9nJ8Ft4dSa8cUuQQadWS22y7L7iZAk5/7UcPqM06U+u1nWjIn560IOwTeFvNSWcNTkKeSEOXTn3gPszIZU0V/KlUPGgeX/Wg9AAgnwn2vui+I0pJV6SHWJh/lMjCRGYfj1faVhU1NcOerCRmYqXDlhqbvb8khAxXpPliIrCrbF3OV6EhIlxWmrSbXy5D3ymefGF27/3mFD8LFX+9hQOVrTUrmTilLKnMN4jm1D8wEKjRlcnaRRRTsqNKLgpCtnvJITeQqV32LBIzS4VfOzi81xJRSwE07B7u3lUrx0lNPXv/TdFv6EKu8yYwiu2lAPbXcJDhBiOfcx6JzCQ/pGdo2sDMPEZAfZZIgyanJdpKIDT2cVT0EfNtKabWy9KVID3AgA1xJN7MjKSCU1K+xjNX4Z4DBIfQXEjn3dZJP8LXZf8z8U/Et+jXumX6XLA3fyvOmtz0+kcpOve7jF5k+47hOqQtSZg4klKoL4i6CwiazPMueHHYuGIUSLmeULdSh9mT8Fy5U86yO86k24hTIyGf49OGCI9dLXzveGnwspz5gbTFR5GjSAQMyCPMT8P0cM+DFFoAawMwc6AzWWQsIrJUZhOYVA83AlBZgQZhtY4lDkka08N5HPYmodrMFT5mAV8ah4ZdXk5WkN8jRB4beFM9c8wovA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(7416014)(376014)(1800799024)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FRjdYW2jQj+skuTcQKC/s0jTKpJZ9+wiuuTZxwHVmcCyDFKBG6okZshiO7aOJbBz4uRqXarDK/FgilTpr7wwFitYsrjH5LjFHahoFAKFlAK6NTbcNNHWqzDIlIjtrYVlTWJgHbd5g0wQCGEktrBpmXz4X6MbIlj/VR3cJcfap7sMLWyppyzpgxNQz58lPClRNkDm43nePEzB7//dG7NT21AZb6/3sp1GP0RX9VwuhgO36GL23LWhHhBgkO8JRcvr5Q4+2DilPLN7nTrYcAmPLZZdroIHNh2NOOyIiHiFckyriKBwGGa5Imwh1/jeb5hrD3OJCY6CO7avCaBWI7XpBrDOhISKuwVTYZkwf/OAq/65VYbwjp3TSuch7xzXiYteHcY+hO3ceQY/xKy+zCV0Dd6gbCiZFTw2RIvl9ZIXKr2FirSP4sKsctts4wiPqcx6 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 01:15:21.4631 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 73902048-fe87-4f1b-695f-08de8554fdd3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF00000204.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4146 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The current probe time ownership check for Soft Reserved memory based solely on CXL window intersection is insufficient. dax_hmem probing is not always guaranteed to run after CXL enumeration and region assembly, which can lead to incorrect ownership decisions before the CXL stack has finished publishing windows and assembling committed regions. Introduce deferred ownership handling for Soft Reserved ranges that intersect CXL windows. When such a range is encountered during the initial dax_hmem probe, schedule deferred work to wait for the CXL stack to complete enumeration and region assembly before deciding ownership. Once the deferred work runs, evaluate each Soft Reserved range individually: if a CXL region fully contains the range, skip it and let dax_cxl bind. Otherwise, register it with dax_hmem. This per-range ownership model avoids the need for CXL region teardown and alloc_dax_region() resource exclusion prevents double claiming. Introduce a boolean flag dax_hmem_initial_probe to live inside device.c so it survives module reload. Ensure dax_cxl defers driver registration until dax_hmem has completed ownership resolution. dax_cxl calls dax_hmem_flush_work() before cxl_driver_register(), which both waits for the deferred work to complete and creates a module symbol dependency that forces dax_hmem.ko to load before dax_cxl. Co-developed-by: Dan Williams Signed-off-by: Dan Williams Signed-off-by: Smita Koralahalli --- drivers/dax/bus.h | 7 +++++ drivers/dax/cxl.c | 1 + drivers/dax/hmem/device.c | 3 ++ drivers/dax/hmem/hmem.c | 66 +++++++++++++++++++++++++++++++++++++-- 4 files changed, 75 insertions(+), 2 deletions(-) diff --git a/drivers/dax/bus.h b/drivers/dax/bus.h index cbbf64443098..ebbfe2d6da14 100644 --- a/drivers/dax/bus.h +++ b/drivers/dax/bus.h @@ -49,6 +49,13 @@ void dax_driver_unregister(struct dax_device_driver *dax= _drv); void kill_dev_dax(struct dev_dax *dev_dax); bool static_dev_dax(struct dev_dax *dev_dax); =20 +#if IS_ENABLED(CONFIG_DEV_DAX_HMEM) +extern bool dax_hmem_initial_probe; +void dax_hmem_flush_work(void); +#else +static inline void dax_hmem_flush_work(void) { } +#endif + #define MODULE_ALIAS_DAX_DEVICE(type) \ MODULE_ALIAS("dax:t" __stringify(type) "*") #define DAX_DEVICE_MODALIAS_FMT "dax:t%d" diff --git a/drivers/dax/cxl.c b/drivers/dax/cxl.c index a2136adfa186..3ab39b77843d 100644 --- a/drivers/dax/cxl.c +++ b/drivers/dax/cxl.c @@ -44,6 +44,7 @@ static struct cxl_driver cxl_dax_region_driver =3D { =20 static void cxl_dax_region_driver_register(struct work_struct *work) { + dax_hmem_flush_work(); cxl_driver_register(&cxl_dax_region_driver); } =20 diff --git a/drivers/dax/hmem/device.c b/drivers/dax/hmem/device.c index 56e3cbd181b5..991a4bf7d969 100644 --- a/drivers/dax/hmem/device.c +++ b/drivers/dax/hmem/device.c @@ -8,6 +8,9 @@ static bool nohmem; module_param_named(disable, nohmem, bool, 0444); =20 +bool dax_hmem_initial_probe; +EXPORT_SYMBOL_GPL(dax_hmem_initial_probe); + static bool platform_initialized; static DEFINE_MUTEX(hmem_resource_lock); static struct resource hmem_active =3D { diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 1e3424358490..8c574123bd3b 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "../bus.h" =20 static bool region_idle; @@ -58,6 +59,19 @@ static void release_hmem(void *pdev) platform_device_unregister(pdev); } =20 +struct dax_defer_work { + struct platform_device *pdev; + struct work_struct work; +}; + +static struct dax_defer_work dax_hmem_work; + +void dax_hmem_flush_work(void) +{ + flush_work(&dax_hmem_work.work); +} +EXPORT_SYMBOL_GPL(dax_hmem_flush_work); + static int hmem_register_device(struct device *host, int target_nid, const struct resource *res) { @@ -69,8 +83,11 @@ static int hmem_register_device(struct device *host, int= target_nid, if (IS_ENABLED(CONFIG_DEV_DAX_CXL) && region_intersects(res->start, resource_size(res), IORESOURCE_MEM, IORES_DESC_CXL) !=3D REGION_DISJOINT) { - dev_dbg(host, "deferring range to CXL: %pr\n", res); - return 0; + if (!dax_hmem_initial_probe) { + dev_dbg(host, "deferring range to CXL: %pr\n", res); + queue_work(system_long_wq, &dax_hmem_work.work); + return 0; + } } =20 rc =3D region_intersects_soft_reserve(res->start, resource_size(res)); @@ -123,8 +140,48 @@ static int hmem_register_device(struct device *host, i= nt target_nid, return rc; } =20 +static int hmem_register_cxl_device(struct device *host, int target_nid, + const struct resource *res) +{ + if (region_intersects(res->start, resource_size(res), IORESOURCE_MEM, + IORES_DESC_CXL) =3D=3D REGION_DISJOINT) + return 0; + + if (cxl_region_contains_resource((struct resource *)res)) { + dev_dbg(host, "CXL claims resource, dropping: %pr\n", res); + return 0; + } + + dev_dbg(host, "CXL did not claim resource, registering: %pr\n", res); + return hmem_register_device(host, target_nid, res); +} + +static void process_defer_work(struct work_struct *w) +{ + struct dax_defer_work *work =3D container_of(w, typeof(*work), work); + struct platform_device *pdev =3D work->pdev; + + wait_for_device_probe(); + + guard(device)(&pdev->dev); + if (!pdev->dev.driver) + return; + + dax_hmem_initial_probe =3D true; + walk_hmem_resources(&pdev->dev, hmem_register_cxl_device); +} + static int dax_hmem_platform_probe(struct platform_device *pdev) { + if (work_pending(&dax_hmem_work.work)) + return -EBUSY; + + if (!dax_hmem_work.pdev) { + get_device(&pdev->dev); + dax_hmem_work.pdev =3D pdev; + INIT_WORK(&dax_hmem_work.work, process_defer_work); + } + return walk_hmem_resources(&pdev->dev, hmem_register_device); } =20 @@ -162,6 +219,11 @@ static __init int dax_hmem_init(void) =20 static __exit void dax_hmem_exit(void) { + flush_work(&dax_hmem_work.work); + + if (dax_hmem_work.pdev) + put_device(&dax_hmem_work.pdev->dev); + platform_driver_unregister(&dax_hmem_driver); platform_driver_unregister(&dax_hmem_platform_driver); } --=20 2.17.1 From nobody Mon Apr 6 15:52:22 2026 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013001.outbound.protection.outlook.com [40.93.201.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79D94293C42; Thu, 19 Mar 2026 01:15:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882949; cv=fail; b=C5NdPrhF+uJNlFtT1CQnGaJ4UGokJOmc2zPIBRYA7YDvQhUxPYOrQeFdd+gTEn2pLThNkXvTyLavXc6Y6VI4TUC314s5cQ7F7at9MIBlh/sULHRqxweYhOJnma6hO/cY7eRlir2GhuBsMZooiJ8391b4L6cRERg9vWjvpbp5+KQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773882949; c=relaxed/simple; bh=XZNUnkMxCPYpPW03bg7fooqVgFntT6fSOmkMmB/dlrI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ajyRP0q4InMCmmHX0atBvl2RbtIwjlnoQwxbboGwTiMOvt1HaK4PWjGSfa8IKNtk0vTVb8M5aB5v4cs886EFnOXrw+576ptfMKoIYiIhYWq35vi3QLm7484eXPMCGQb625MBSmfoOvtsA8OxTZo46M83G1qBd/fJyDtwK4NjhRw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=hF5kGW7K; arc=fail smtp.client-ip=40.93.201.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="hF5kGW7K" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MXMkzquXIfSzq+1iN3TAuTtm6M9SBYUAg+2DHVYj1OgFFpIQBR3dMJohkseT3xusFcq49S4xzXnpMo3+VcLhoCHKkdXnV+QOOGE9nwhjAHmB1MqkkW8kPD/s/TmCS2OizkHNi96EraMuMZdSw5vAnBfG1MMPYugU38aNKc0aKR/t2IMeQWtVCZbrPxGzCi/zTJyRppCVsnRMBRklr4ycyxsRxi/9kobW18N0J0yR0uQbDoEqiykE0B2k5AbVZC2hx+UJM9lAHnYtnwDbdOHtlLtH/23dJ+g0I5GwPfTgfM1d2yKLQAsuVm93rQGwhaXBaW/emxZbisgm+acPPYC3IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Nmevv6FbB45uuokzz6huNEtH051TULGA9xDWLY2nrfs=; b=d7z1uPTde95MkTl1oqWFoeWzhguR1C0jaHKOgpG0fi6gKLYljnVU9+hI5cixkJq/Z9Eovk1ZbGJSK+Vb3Cuvauxvi7w4GqnNjczHAPe5demw/PWsBOfudGiL7WxRCqN/gXLTUxZ+1EigIDE6CVoe/91Fi8UtIOIvlW8h3BL30/8CzzDEiVESbib4HUgEIxcc9mEfpcnc5gDJtc4Ndf8wskcVrTMT9Trs+I0t41G/s2dL9LH9py5DjhXiu59i1xggdLZP5i7qNmeebBIufKa0TEzGAEEtHYHvGjPuYVtGKWXe3NV7QtLGbO18SsKzugKJciJpoRDLFyDo6zos52We4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nmevv6FbB45uuokzz6huNEtH051TULGA9xDWLY2nrfs=; b=hF5kGW7K/s0UIEhi9NYrZ3kRY0k8wNP5JbFfYJHsxLsrONPsOvkahG+H+DPFcSgrzLHW8/rB53Qd6I+yWOZhYBEjBgxppE6FAc8lJYKCHn8UWpmN3GDO0p8OBD94NGwXp7ElRFqooMDfXRX1ik2Oy/C79IAgKZNpqMRrRs55Aug= Received: from SJ0PR05CA0144.namprd05.prod.outlook.com (2603:10b6:a03:33d::29) by BN5PR12MB9461.namprd12.prod.outlook.com (2603:10b6:408:2a8::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Thu, 19 Mar 2026 01:15:35 +0000 Received: from SJ5PEPF00000207.namprd05.prod.outlook.com (2603:10b6:a03:33d:cafe::43) by SJ0PR05CA0144.outlook.office365.com (2603:10b6:a03:33d::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:33 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000207.mail.protection.outlook.com (10.167.244.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Thu, 19 Mar 2026 01:15:33 +0000 Received: from ethanolx50f7host.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Mar 2026 20:15:21 -0500 From: Smita Koralahalli To: , , , , CC: Ard Biesheuvel , Alison Schofield , Vishal Verma , "Ira Weiny" , Dan Williams , Jonathan Cameron , Yazen Ghannam , Dave Jiang , Davidlohr Bueso , Matthew Wilcox , Jan Kara , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Li Ming , Jeff Johnson , "Ying Huang" , Yao Xingtao , Peter Zijlstra , Greg Kroah-Hartman , Nathan Fontenot , Terry Bowman , Robert Richter , Benjamin Cheatham , Zhijian Li , Borislav Petkov , Smita Koralahalli , Tomasz Wolski Subject: [PATCH v7 7/7] dax/hmem: Reintroduce Soft Reserved ranges back into the iomem tree Date: Thu, 19 Mar 2026 01:15:00 +0000 Message-ID: <20260319011500.241426-8-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260319011500.241426-1-Smita.KoralahalliChannabasappa@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000207:EE_|BN5PR12MB9461:EE_ X-MS-Office365-Filtering-Correlation-Id: 7790d6db-84b6-4b55-752f-08de85550527 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|82310400026|376014|1800799024|36860700016|13003099007|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: uCZ4TQobo3vdp3hDeVSBaP0VQ98KMs5ohUQspZXCIFBJLWTVZnFew7n8aDbHEph6b8QAGLHAZXDGLkkhPFR9UhELzmq3BuF1/q2wBy8si8au/DjODBebzkmONTShrefSQf7xj/si9NnIEVOd8avT8H176N+4cx86rDVTMfHIWYfwTYiC4j6y+K9tK+3bXbqxasRZNv6v3CmcXo0QyVaB1/dZtfH9dg5Mh5P8TVQQ0EQwcLMIGLx2gNAWg/RFrb/2JZpvbh3yGkURMYhFYrfOCUWJLPHN+YhjXLvnwanhLKai5JARxF9Nopcj8M85q7GTsm3Cwgnp+V5WbAazjyq67yRG/uegIiZzGXeh254YHDlnz1gnFCbD2/o2uHNtbnFW4gMTO58d8UfYWcPjOgVWZysvv3ZPhjb6vCUjbqAjXF6uo4DfjQRXcjWR/a8L60y23H+FLI3sSgHY0PGHWQPX6Cfx7fdwxvt3ZBYrQhpmo6LQnrRwGDYtn9rS1xPmxp8F4QlT/6uh76OmSMBmhtO3mWOBwzZeZXiox16h9NxxuzhHIqwAjEWX1zT/iv1E7EFBoK0pqWE6Rw6s4uL8um5cQGPEugy0iCoSqA1tAMhsDswH1+xabnaygKJWcM8qv4O+1p9XcM13CBhpWb8+H3U312yEA/y75nlr0IW7V8oASXBn7TeGyoB1ux8FgNWZ3nkKyljeJaSY0kfOpWI+r8xSWx/ogxzXntJzXAGad4y29M/hR5Yj+Q1BEH/HXl0xqtM3NyNKbVT0zsp+/0t5wDlZyA== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(82310400026)(376014)(1800799024)(36860700016)(13003099007)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UOsXxiBAX9r+C8KdGaEswxh4kxXa2FsOwnVKFnbRw/1lVNEy21nBc0nVQkQg/+QgicHViG304roVJMmR1zHIo90Dv4jtL/MRJOrLuE056hmiO1KIehXirsq08ABHoJnRusdUakdFBmas4t3SsrQXFyvJRTxdkklQZkkKlqXxeMzgaqRxZk2jaA+AR/oGAZ/he+U1AheQy6sYevN+T1PL2eNJ7435H3c041OIQ7qvCMOi/4uMTm6RScZgjrWJysMamKAmMtIxYPyBvfNIqd1ol2iM38QMON7TTwLo1yBscshY0y6ySlswO1sJLpt2uAZWjdcltWvT9salMvVNLN+6iUrSBe9TKMiZShCOsweK2G5ONubYyZ+7TIknFMSMh6n4R0vurk+1Vs7EflZ6IyAiv/kViJ+lXTR0a/7FUaBA61IIjh/iLT7uE0kUHyyevDyb X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2026 01:15:33.7547 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7790d6db-84b6-4b55-752f-08de85550527 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF00000207.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN5PR12MB9461 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Reworked from a patch by Alison Schofield Reintroduce Soft Reserved range into the iomem_resource tree for HMEM to consume. This restores visibility in /proc/iomem for ranges actively in use, while avoiding the early-boot conflicts that occurred when Soft Reserved was published into iomem before CXL window and region discovery. Link: https://lore.kernel.org/linux-cxl/29312c0765224ae76862d59a17748c8188f= b95f1.1692638817.git.alison.schofield@intel.com/ Co-developed-by: Alison Schofield Signed-off-by: Alison Schofield Co-developed-by: Zhijian Li Signed-off-by: Zhijian Li Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron Reviewed-by: Dan Williams --- drivers/dax/hmem/hmem.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 8c574123bd3b..15e462589b92 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -72,6 +72,34 @@ void dax_hmem_flush_work(void) } EXPORT_SYMBOL_GPL(dax_hmem_flush_work); =20 +static void remove_soft_reserved(void *r) +{ + remove_resource(r); + kfree(r); +} + +static int add_soft_reserve_into_iomem(struct device *host, + const struct resource *res) +{ + int rc; + + struct resource *soft __free(kfree) =3D + kmalloc(sizeof(*res), GFP_KERNEL); + if (!soft) + return -ENOMEM; + + *soft =3D DEFINE_RES_NAMED_DESC(res->start, (res->end - res->start + 1), + "Soft Reserved", IORESOURCE_MEM, + IORES_DESC_SOFT_RESERVED); + + rc =3D insert_resource(&iomem_resource, soft); + if (rc) + return rc; + + return devm_add_action_or_reset(host, remove_soft_reserved, + no_free_ptr(soft)); +} + static int hmem_register_device(struct device *host, int target_nid, const struct resource *res) { @@ -94,7 +122,9 @@ static int hmem_register_device(struct device *host, int= target_nid, if (rc !=3D REGION_INTERSECTS) return 0; =20 - /* TODO: Add Soft-Reserved memory back to iomem */ + rc =3D add_soft_reserve_into_iomem(host, res); + if (rc) + return rc; =20 id =3D memregion_alloc(GFP_KERNEL); if (id < 0) { --=20 2.17.1