From nobody Sun Apr 5 13:07:30 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011067.outbound.protection.outlook.com [40.93.194.67]) (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 3ED0337DE86; Sun, 22 Mar 2026 19:53:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209243; cv=fail; b=ZgJevHXA9LkI4kAuwG8SRpv9SRHs1plknrBiEOOnyWzx1oYg5trgkKmpxt0tUKCxy8X5A+mZETRXSA+Q/s5qqVIOHC1gI/iIrL+S0VdxHV9GMQ1/Ri3qQ81O6el/B/3P4siotG1LMAYcBfofNflAKUIinj0slF5weD1t3ihBafw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209243; c=relaxed/simple; bh=W4BJWAMnd7sBRJyNRz+Dc3D25teAiNo8J+Dk534+RaA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gDYJ04NTSxSyXx0S+ToKCvXQe5hXGUORTGd6ZHwWfFyX8o7hU+Fde+k46lNU9eTYVXWowPok1JqsQCfavCMTIYuDVUJBX4KNHH512AdtO/rWiGn955brLs5Wm2QA3LRaND9CjVEGfFLA320UwHDr6//UYPewveL/9nEo+TW5q2A= 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=f9c1FZ23; arc=fail smtp.client-ip=40.93.194.67 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="f9c1FZ23" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QnasGokszXXzghvMEODGIc1RS0keInh2Gch+rANmv4w4yiC6jVeVNm9jUv0+YBQT/q+VGaK6z0QnkAIu9Gjs4THE63bjJhboqp92qS+FgmQERhv+QANPQsGITP6ej0UBalMDGdxs45jMnr22gOVlyjkl/jczpJViDBFOrnU0QNNgykAxknh0zK8nljTZoVzLbLUM8PZD6Y20uihjVdjlGuUJ5XNAe+1j2s7ZfQUTt76rAq4FC1eYQZ/jj/NzF+zl92R+C3gfaeEKZ8SIubUSGQANaKvkgKe9ZrygHp50FbSTP8D8KuYf4B1Vw3O2x6ZasNJvO5Dm9DzSvpBXQiua8A== 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=Nb3/g2QsOoRbAwB7rRbKE0PIaBY7uehA9pSGGP247W0=; b=c1jKX2d0Nl3Be90YAhMLSxn45cz9sgSE1hro00k7izoJ1R+p1z6G7rrS7Vu1pNBM22TDNtTv3NZVuAI6mbLi+arAR1NsQS1McLTDRmGB4fAHM6X13loBV1AU3vIkxIata3SV0O9lbbvQM/giIIfCS8l8xvbNP8YVp9SDYIU1+IS0wJW9pxhm2sCAZHl6yYzsG6E0ff/AiH0zJ9sZ7onGk4v8N0N7KNcPMV9af+FRHvPNShGwIill4WWyKZGTlRrB27sdF/zpNk7mo/iybzAQ52nKVENCuNFt8o0Eb11HRmWgL2OXTfB+UPG6TllKGmA2ApTHratszR67R/zOOqt/DQ== 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=Nb3/g2QsOoRbAwB7rRbKE0PIaBY7uehA9pSGGP247W0=; b=f9c1FZ23lH9BfOIapiW18JA2VVFref3WLTEsHS/t6+KKrzkrTNqrL4cy8GpIGtvJo6FQwOalJv/DYOMfWaecJcrGQK8uY4z+s8pClhNFJiV8DkOoB4GhmkxTREu72GfFaxFBWW0ZpEOONB8O+nytA4nBiATwWAgiUqUG8Aerc2w= Received: from DS7PR07CA0014.namprd07.prod.outlook.com (2603:10b6:5:3af::17) by BL4PR12MB9536.namprd12.prod.outlook.com (2603:10b6:208:590::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19; Sun, 22 Mar 2026 19:53:55 +0000 Received: from DS3PEPF0000C380.namprd04.prod.outlook.com (2603:10b6:5:3af:cafe::22) by DS7PR07CA0014.outlook.office365.com (2603:10b6:5:3af::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Sun, 22 Mar 2026 19:53:51 +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 DS3PEPF0000C380.mail.protection.outlook.com (10.167.23.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:53:55 +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; Sun, 22 Mar 2026 14:53:54 -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 v8 1/9] dax/bus: Use dax_region_put() in alloc_dax_region() error path Date: Sun, 22 Mar 2026 19:53:34 +0000 Message-ID: <20260322195343.206900-2-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C380:EE_|BL4PR12MB9536:EE_ X-MS-Office365-Filtering-Correlation-Id: 848863da-18d1-4662-5205-08de884cc000 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|7416014|36860700016|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: ozCAcXtg3viERuc4sQJIFDkOZFuQlN7xc0XI1UgcjO8f7QFUBtcyLacRX+91sZPgFT+lnMEJ01icQH5aeOI4g+awGJAVY1A3Z1ziIhFq3qTK+BGUcs0ZvR9mR58M9DKKjTuukMxtj6StxvO7/H2qiTvrd1qx0QRIwLSvKBxx2caaCEilJiaHM4ThP1k6wjL8dM/D9t36DyyWed9rkWgDsmqwZxgaMQjnKSsXKoLO6PsMPTIuWzVOs/7pArsHC4zh0poju2BcrkYVwJ3P13w2ap0VgORmoQyH2x/yZYy+xAIotzvqrHqLVdd6p4xM5iVlZPL4e8n8F1GURgUFrM5fjMfbPVoIxsajQa3z5IQzSw5c5QVP7YWbtPoFD3EML6AhlrO2jMobTz8j5Hnpi3sP3na2v+B61wE553GnJdGWjgPSek5P47D5w7aZGIzskKygWqLBbYnSy75drXqBpxLjm78QNTvDLnwsw8xeJg+dU3aNfYhUHXdSbkHjigvRfgriB7uhH10EfRZm1Tr9kYynoqUWWpOu5yidySdJ2tu75PIBi9UMNYQuEpfj2VmMZoPJ4Pd6yvAXJMUerJkpmKB0R98C6z6v3iEPK6gh8CtbADhR0cwP33pif/NwH7FxA+TOPAs9WTr0m2y2loGSfd3dYSpghucvlvUcUOA8xGI8XC/ry/Lgn10tZ9rAxqx5rekx5G3A6GC5H9IGMEq7U8ij/yx4ad3wN01dEHJ/GkvWUatsH32bxXEjTMAn3BgJFQ8a8h3ujvUdA9FB2y+3DGePPA== 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)(376014)(82310400026)(1800799024)(7416014)(36860700016)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: veezwFEtX8TofSVfpHo2v9Iki4dpwRYUm/EXNr7cvnU4oydXTz86DBzqSJPOKKiHiNv7N++cItZ+TQGoabHSsHrB12bH82NSEwcc7EwAcamNYCBmzvhaZtjjliY+Bm4mxvw5yPV/6HAHGFoWHu1p3iN6zdoOFfE4xTb8xtg1chjpAyHK/pxAJvbj1Cfe/PRDuvPmra7kMKZArqEl+c5zeYXI+ddqDGcWnyn7x3zrvgZHz0jtJ+lc9Vur1nV/a9mv6MU3QA/JXBjGrnTeroSi1XaKy2lCXnGXmNkc7qDyMBUyduznicGUdRIzlwtj0RG6RZ1leBUwtl+VlZplmQsg8PoULOAlsFe4r1xeq4J5yl49cFgq0mzkwwbo1AvKfVC+c7turzpu5U5DdSiVHIny2FPc8z2tZdYg18qBkNYe1SkpA+jk+ppjeCkN3r6KnYb1 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:53:55.2572 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 848863da-18d1-4662-5205-08de884cc000 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: DS3PEPF0000C380.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9536 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" alloc_dax_region() calls kref_init() on the dax_region early in the function, but the error path for sysfs_create_groups() failure uses kfree() directly to free the dax_region. This bypasses the kref lifecycle. Use dax_region_put() instead to handle kref lifecycle correctly. Suggested-by: Jonathan Cameron Signed-off-by: Smita Koralahalli Reviewed-by: Dan Williams Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/dax/bus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index c94c09622516..299134c9b294 100644 --- a/drivers/dax/bus.c +++ b/drivers/dax/bus.c @@ -668,7 +668,7 @@ struct dax_region *alloc_dax_region(struct device *pare= nt, int region_id, }; =20 if (sysfs_create_groups(&parent->kobj, dax_region_attribute_groups)) { - kfree(dax_region); + dax_region_put(dax_region); return NULL; } =20 --=20 2.17.1 From nobody Sun Apr 5 13:07:30 2026 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11012003.outbound.protection.outlook.com [52.101.53.3]) (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 6723036657B; Sun, 22 Mar 2026 19:54:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209243; cv=fail; b=NisoWLgtqXuQIoWYPMQ91mUVqG3zWDUnnb/CDh6g9DShZiRii4TU+HfM9m6fYUpvtqmg5bLrg1vwmyizg1xvDSVG0ni00/LO4c06C4104e+vnC8EK546Scz9uhg9thLljV4pVhnqZMvsjd3IJqkMerl8lkbdv08BSl8AWZAAHNI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209243; c=relaxed/simple; bh=CirBcGoO3cDn3L3WEctc6sxd/WvdHYA0/Evd1ybLpLA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=H+42U4wmlaaJL9Y8SSi8gsFPbs6Ilnv0NAy4jrESNxDH28y6CxihPij2mm3JKUI0Xa9Y41q77BOMrKsVkxtobDLWRMMm3SoOWbfsh3LdVmvWnqtcDn/SNhsUWaHzFDf5wZjB8pUnzhdOTxWx0eywthbOY0rHwLfq8ycaxSZ7HaA= 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=0SYnsF7V; arc=fail smtp.client-ip=52.101.53.3 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="0SYnsF7V" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qt8/2yPJSpAspjTJC0qaQyQIlBJ7okwfKt+igmXauGU0dQy8Kte/eYYyS2Yb2awhrStUPfV/ukJ/6OfaTkF9Yd2J+VvPUtQy6QniQ9E6hiGDGuOnZWLke0x/MkQfYiL4pa9FtkP98dbLYuO4HWeVSqfnOQV5vDFxemAuN5jgFMFvPsNkSVnw0wNt0z2dCGnLr7qmjNYXMF6y32KSqkFG00FmqCO3d4LZno/yWnD+lYdr3xy3UYUVpz3ZHYWWpTT0tZq2knw9sZngzd31zm1rra8GlA772hlHqtwqNTT2LvnP9xkR0t5CPLJ4pCtB2p7xgBracBeGd65F3XOEVMrsTA== 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=Xr3BWMd+GsGccxDM7WI8lsPKnRb83NcdLGNW5d9FhO8=; b=jCBEMwAh+LkoqpzZAnKkSkBs35/914B3FK7aRD40HG9iKBww0AaGC6fywXXIJmcbAEnkcVRc90cwhoN5LESaOLX2bK8rl2jSLvhuSlK4KN27Wyl4zElsBbmnqVf2oBZvOk1dM1uvoso6Gkeq/B6gFJ/gHJPeq8q5c2ZYna6Dm9iNrs5Z6CKjsU2BzDE2oZQwxl0vKtAPNQCNNQqDNTSi/E3K2CsAEc0JAGupDR4mMT/Bn4NeMEu1x15n5JJvSzmrGbxUcZMpEJvCb83KjoaBL6OtsuB0uRwUjhkDUEINWm1laabR2FPIjHY3jkF/V+S3ErAQZyT1AazAS3zpDPVrBQ== 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=Xr3BWMd+GsGccxDM7WI8lsPKnRb83NcdLGNW5d9FhO8=; b=0SYnsF7VNpJckvDmncKaeATrtHHmuLlZjTerDcnRvKDktm7hOscokDld5fyvbwFQ1QyjJntIyH+gt3bAeDwj7zEEl9OjguzqJkiud779BKaBqucMZ0D0+ZnCEJK0pnHmeInVnE0gHwiOSWBtC+UM9nTRt/aRf6+R7ge8dzX/170= Received: from DS7PR07CA0010.namprd07.prod.outlook.com (2603:10b6:5:3af::29) by MW4PR12MB7311.namprd12.prod.outlook.com (2603:10b6:303:227::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.15; Sun, 22 Mar 2026 19:53:56 +0000 Received: from DS3PEPF0000C380.namprd04.prod.outlook.com (2603:10b6:5:3af:cafe::c6) by DS7PR07CA0010.outlook.office365.com (2603:10b6:5:3af::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Sun, 22 Mar 2026 19:53:56 +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 DS3PEPF0000C380.mail.protection.outlook.com (10.167.23.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:53:56 +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; Sun, 22 Mar 2026 14:53:54 -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 v8 2/9] dax/hmem: Factor HMEM registration into __hmem_register_device() Date: Sun, 22 Mar 2026 19:53:35 +0000 Message-ID: <20260322195343.206900-3-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C380:EE_|MW4PR12MB7311:EE_ X-MS-Office365-Filtering-Correlation-Id: 164cab45-d6c2-4539-e51a-08de884cc09b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|36860700016|82310400026|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: zY4jKYMX8rLzxosIVrpvLVJsaaO+Bpf6ih5cWby7i/xnxuG7LlxYcDlxWvATIlqAJpcBY4Sb5i3flemHTSsRTk+t9hZld/mrP/kngNDXbMAaGoD1qaCCGB+zShw0riFdzhwUgwox4XmVkoJzvFk6+mRyH2HXx9H+MR9vDkVYF9/q0KAnwQkBpffhNeRjgU+j7QTUnWpWqUaxfU+SwUBwSQT8dIbZaQMqniRKNJB4XqZ1Gl6Mfzw6DxN1oFtzNI/sloa9zM//w1hJ25FStYZ2VjWS3S72MymyuW3H3asg6AjbAei4kQ/jRjHWkWTdVNnvw5VnzP33aVPmfDTwsRPINsBDxf97TIwI54FV8GTm5ozFzDasD4Nl13l/48G9V7smuEfDtrDz4ftvStJDo2P2BMGQar2mFE0MFbUweDoE8iIrnYdqKmgTEuOSTgBexOgTwyoG+ADt+kaZ2enWOjFVHhwaUIgLdeAezqNVjPWyBWL7uQeoLnwNzRoeW60GxrsSEzj6cDQsh5Z11IMcAa1ByOCMmkq2Q4TpK4C1L8Ded8owhrnF3miBd0MafpBhHKYll9hwNZOkszozaN3n4hnZRorES9+iH7WkyXm6KUoOfDrA3H3Yn7N6Iz4PoPlWndavSR/2Fa4j7G6RcPFjfQE90lzkyBexlvibTu8JC2qX0RkLI5NRvt7D+07tB34kH4QRrDw0j5ZMC/esv5i9SN1Xkk2JSpDsJuHBy+VIOBlhCYs9EfYQjzjefuagSYxh1lM2/RtQ5QL22W7uzrfc7BRV6w== 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)(376014)(7416014)(1800799024)(36860700016)(82310400026)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cWvsdGpXGbNQWLyWKhVJMl0sl87soVk+zVRkj4HzCNy09kVMaUOzCLwjkFMFOIcZP6Z9Ki2DnJ8yqXRa40XWT06FcUgRzP2TY0QYIs9uYvuYmnA+QJX/72Vesq/RCueoTqtPTrfdgIUW5X4bEUQmlSE2QAkn6LGQkPVCiEVKZG2jNeZSPK7FugavFcj6l4hNEfZqZt3FAcEXqc32gFNm7vsfUNKjMT+TVsYrHaiApuOWkdPHoJLvayuKMvHj6iDqmX3s8nF0hg1Ay3mgkAmiERCTbNwRlOS7gCPSfcsMMxo2nlpDwnAOoSwiefzh0rf87+ylLeVMwll0t/39JnLRKEb+ya6Y0RAoih0ECKjd8RamvAqM39NB9D//YXfG4MyYWzDrL0sr00Z7tWrvxgzQDnhcGnB+XvjiP8gzth0/o/AmUCCyqC7pvi/+WZVgEzEF X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:53:56.2732 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 164cab45-d6c2-4539-e51a-08de884cc09b 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: DS3PEPF0000C380.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7311 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Separate the CXL overlap check from the HMEM registration path and keep the platform-device setup in a dedicated __hmem_register_device(). This makes hmem_register_device() the policy entry point for deciding whether a range should be deferred to CXL, while __hmem_register_device() handles the HMEM registration flow. No functional changes. Signed-off-by: Smita Koralahalli Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/dax/hmem/hmem.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 1cf7c2a0ee1c..a3d45032355c 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -58,21 +58,14 @@ static void release_hmem(void *pdev) platform_device_unregister(pdev); } =20 -static int hmem_register_device(struct device *host, int target_nid, - const struct resource *res) +static int __hmem_register_device(struct device *host, int target_nid, + const struct resource *res) { struct platform_device *pdev; struct memregion_info info; long id; int rc; =20 - if (IS_ENABLED(CONFIG_CXL_REGION) && - 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; - } - rc =3D region_intersects_soft_reserve(res->start, resource_size(res)); if (rc !=3D REGION_INTERSECTS) return 0; @@ -123,6 +116,19 @@ static int hmem_register_device(struct device *host, i= nt target_nid, return rc; } =20 +static int hmem_register_device(struct device *host, int target_nid, + const struct resource *res) +{ + if (IS_ENABLED(CONFIG_CXL_REGION) && + 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; + } + + return __hmem_register_device(host, target_nid, res); +} + static int dax_hmem_platform_probe(struct platform_device *pdev) { return walk_hmem_resources(&pdev->dev, hmem_register_device); --=20 2.17.1 From nobody Sun Apr 5 13:07:30 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010021.outbound.protection.outlook.com [52.101.193.21]) (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 AD50537E2EC; Sun, 22 Mar 2026 19:54:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.21 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209249; cv=fail; b=MfuDHx4jPCfnaTW6iBDIixXvz1S4gxPkAKTDVvMD7nale6jJ63969uWK5UqwPmprt2Hb6A919cCtahIGCONFy2XIQrqn+r1Wxg6mPJLeFK6d27iSd+thWVH7Fpqgmx1ZqUzUOXk3ZRKe/KVs28yii5JrBjy9foGHqNeBH+QDm9U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209249; c=relaxed/simple; bh=4Q19NQLb3//edjWKB3/v7TESXRCd/sadj4Ge1vmAdas=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gUzk9GRPowdnIAZMr7LyR7vR6tkZLs2lT88UGauuWD2zw5kuUsZIEXPAGnixBi6zeXjOwmlrqTUDcnXkGHm2iNWJ++mqeVFDj7NiPVVKjOTLIKLQ95MN+5vpDBfVOiqCMgqs040P2xeVSAjYidZvmw1/QM9WXRvQacn2Om8ufz4= 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=1Oy0GSS+; arc=fail smtp.client-ip=52.101.193.21 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="1Oy0GSS+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=E9LB/PGzRPMPyO1TRVaflwlnTbkvVcSLMWzFO/1k+zENfV8qbiOGpd60cuFVQ9ki+2TIvmdVDgLyOXbAvc8Ldyo0CEZJPOynEd7OWr8VFNjZYBkTbYOQ2GY8PWgtQK2F5AnapBxXXLGBfyH116ikEblkGfmB2S1pSkfDgepM9xoy7cZW+3VPcGORl4y4zU8d012Ggr5e7RE86XsK4s9yPjBYOfGnpHkOflMVsZkTYxiqNtlmqOXGIYvUzMW6G5A6y+lg3YzVD94rt9z9Ho67C7Tr0zgBPjHdePdUBUnmVLpNbULxxXde02p5Gk3S3SOeS1FDS9/ff+loRrkzTns0iQ== 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=k4uYuYXziH+LdUWD1g9mqZb8P0ICrMsMs5RIYiGdobk=; b=SCEXnqj5nqxBs/sllgCf0XCEgXNb+jw2vonMC7F4tnANxXRFifUtwIuJYFaaCDFgL2qKaWSF2Uhcs+tPca68AlX7nj5vOuNPA/2860i7Uo4cTAX+Oh7asUrAY4mCVHluUXEg2bVHxpgErP8p6huakSasEINpbXOTW0vl5r55kA3dO3TYSD5TsbF31WVyUo81E1iL1mNwHbGt5MIVxL/nbZatQyMxDFBr90Bf+K6MDouQ84UKWYqXkrT9leWiyr+/X2+Yd+4JK0PzrOl5BYzigsn8943JG9f6oEprS8KRwtSqO+3VDYue9/BarzjW3VZK3GUK7XnXQmyqOgyIUWkL9A== 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=k4uYuYXziH+LdUWD1g9mqZb8P0ICrMsMs5RIYiGdobk=; b=1Oy0GSS+KyYNDJfyyA6d3BbcAhJ/4ad4OyXujtvv3bvqb1+poUyfCGVxyS9Q6kJBeMAujvHKlpmF2nedRVdZPocFM1Qq8wTtXEdwaDVcnxUjQWPDX8IlGz6qTEcN5FTANBE2QScyU1PSNbdx/jQ2UdFyVWJ4hJCB6KSJQb6jY1M= Received: from DS7PR07CA0016.namprd07.prod.outlook.com (2603:10b6:5:3af::18) by DS3PR12MB999218.namprd12.prod.outlook.com (2603:10b6:8:38e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.20; Sun, 22 Mar 2026 19:53:57 +0000 Received: from DS3PEPF0000C380.namprd04.prod.outlook.com (2603:10b6:5:3af:cafe::9c) by DS7PR07CA0016.outlook.office365.com (2603:10b6:5:3af::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Sun, 22 Mar 2026 19:53:57 +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 DS3PEPF0000C380.mail.protection.outlook.com (10.167.23.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:53:57 +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; Sun, 22 Mar 2026 14:53:55 -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 v8 3/9] dax/hmem: Request cxl_acpi and cxl_pci before walking Soft Reserved ranges Date: Sun, 22 Mar 2026 19:53:36 +0000 Message-ID: <20260322195343.206900-4-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C380:EE_|DS3PR12MB999218:EE_ X-MS-Office365-Filtering-Correlation-Id: a3dc9e3d-37e7-4d37-e5b2-08de884cc10a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|7416014|376014|30052699003|1800799024|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: wip4Q2TCHsYrBWayrOzHuuzTMVE4JbZXReyf7IT285uLP2OOSgXQSkporzNQAGVPWju/JsP38fD0uOVk0dDIXehiCzpzTv3SUqqaKCBhsyTcVCNcQeedLpS/84d08T5rzrLaSFpO4hybcTChrFPmNFoNWm2E6+S+WUlJXjkTV75uc7UfkiTNdgD7s2uC9IJlrFk1UK+IssIQHqdGNWWNenhGPtDCVWipxFwcaijqLqd+71s14OOZpIWqokyPWbvSVZJ1JqYBkSVpmsQ1Iqk/3jasVN5agrJ1zA9tFBxEhFml5ZMUJFm4k9cUlCPD8a417Bo0z026qgMERntgzYWXoASq+suvTHxg9LcW8vCu6RNNCNTIl02CdthfWscptxFH5SKIZZ97Gn2xcPGK4EowH3ZkPqDeWTIbOb+1u3LIVDy1WFWY4osYIodGmKzLHiLE/YeLSxg3IRz7KJENnDhGLVqK3SnpjZBKDX7WFa+Tv+Zx06dLwgrP8/DgryA5DG0/x1k043MNW56sDOr/TLByWxBs2LMJqbmIknv7/nox5cDLhr5jJ5WeAkDsSmCzymi0khb0uCFXsao3/GclYgoo/XZu/1oe4vl+h73XKXKCU++TtthSeF/Yij9AC30glXRS/YIEwy2jPT+SU8fK5ToBjX6vHZKUKPDKiZ0lQjRpyNeFYnsWNfC1FcSkNQWCXMM9TGgX/g+HmreBcEd0MKSMeBXbr4j8X1MrxwtzuDqdM23eXfWXMr+M04c/zE+0qOrdu7h+Fq8wScpYrclETu/GYQ== 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)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7xi857Afszol2T7jFsFv36cEeGPG6L+EddHOSMUmgVjK3bnrYTur/EdMDy6DiCFyV3a44D59OtrogN0TufWnHP3aLLJleCf4Fs6OlDpPnwRuBg0g3MTbFFSq3TvnRhjZG4+nkWHQzmlN48rpkAaADsVBeiIsZ79tolAnnhYzxB+wR0Trx8DyXAbOeuspGiOMoThMPYoTTlrH0aTxkSzEEWJHecrqb38A5vlRsmD/J6oV1WExtwt7tImvuiv3goGLLW6b19vPryTEEzsXbmAh0p2MaWQGHuaUVCBgt9rScbH7sGFq/PdNNelnjLemDGYgrKNa1X8qbfBYo77TiE4AFslm2mkHvf10sxv9bIQEok5DUBCJ6/83Tq4JedsKh1YRsrcWdLs0bFhfaTuDhK43R27AOlBJO3qhfxUKGIqmINd3pprWEphF4EtBQiU0clkF X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:53:57.0009 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a3dc9e3d-37e7-4d37-e5b2-08de884cc10a 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: DS3PEPF0000C380.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS3PR12MB999218 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 a3d45032355c..85e751675f65 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -145,6 +145,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; @@ -165,13 +175,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 Sun Apr 5 13:07:30 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011036.outbound.protection.outlook.com [52.101.57.36]) (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 833F637E317; Sun, 22 Mar 2026 19:54:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209248; cv=fail; b=DrSy/EXnX7LuvQOP9qGW/x0G68k8hKdUfqZhTB+ledUPkPUtaHMOSElAihZTHP/wGPEARry/yw0GL861TmCRauLbO71jrADh6mwGNqzUHYq6CPvDJ6MNu9Up+8kCBU444FoAaSOS/qjCOc3OHRmz+kXtoFrTQiIS7m9fXXaUivA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209248; c=relaxed/simple; bh=7HHGC1FPMKeoKCFnKzed2C1c0LH2Fu9wgElZyZdXMec=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fU5K5MhaGWxNX72pnEKO70FxTbnZvMgsVt+eUNUla2cC2SnvnxhBDyKy9VyqgVN+0pTGSy4RReK5JhNoWiYMDOWsiME1zptKbDzvgY8WKxKMmcZNBp4leCLXUA9LR/cc18PeVR+viTRy/y0Xqs45zimCTf+qoABjqTT4NZPojco= 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=MZictCaX; arc=fail smtp.client-ip=52.101.57.36 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="MZictCaX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A4TAn6DCx8G+7ihh1Aejr5rHRw7ThxDw5pmjF/UJkrBpRMCn/QFH4mpMl/NQWTuZlYXOgRpgOQqukY0I5PSDubF/8d/+vSZH9XxmhRpjgddaPg5kwfSfBU9bwUrBxm+zjrLZ6ginAdpd74VWwCT0s/TqhgaleMLl15oPFcGrRAS5rDcBUCJdg5zJofKrYepq+LX3GbPlrFJmMT5kdL7WHQ3IbthTyOJ8mAHGbnKnPT3Pq+cQ52wAh4klGt4uQ+meCbs401Zjxx/reBhzMbv7sQ3n9aAE9/MBWUGFS2SZK3ghtJ0VxSuI1l4I/OOaqD8wjkB2XWs2XOvLFCg2PZJz1w== 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=EkGpfCChZpYY7ppP88SJ6JLRKmBilznCbrQPh2ZKZkE=; b=h7Ne+Qiad42s15GUZnIAYWJnGxstNFVqjWAj/jmsMNPZa/UWqoo/kar2ISrd7O2jRVYB0Ag3h6tDjqsJYMscj6btMei5kn6tEdsyeMV5Hra3EKJWXyQ5/p0+I5tR5BFjHNC+L7fwL3f3/a/XNG8bMOlNqBE+8mlm+mz66swB/IZE/+ECW3W7IBYWNA6kNES91CcFt2KB4Y9NZ9KMpxI6JVm5LseDAGgmG8CLTvLNu2AF6HoJb+SORvxfpQ+Yc7rHSDMeaCqLyac6zlOV2svfe7U/CWMCFKm4PySt20aKbgatDwt24zHiTsoSa1hMgmjN6TuMQdBAPjRmH4+/83Znnw== 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=EkGpfCChZpYY7ppP88SJ6JLRKmBilznCbrQPh2ZKZkE=; b=MZictCaXJfUJKCkbgZCbnMrqUz46H5Euki5n8BhTluGfeCE6/i7U1yLfrAzR4bXqOLEW+Xw5ToAoDcBOeDzRFyRMmINT7oiOEifd5/DjOfkWfmRMayzEl8EyPW+s8W8OOqCO8MmZg5rj3+ahsgUWuZ/OEvMr+c2iYBnuneX2kt4= Received: from CH0P221CA0020.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::21) by IA1PR12MB6236.namprd12.prod.outlook.com (2603:10b6:208:3e4::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.15; Sun, 22 Mar 2026 19:53:58 +0000 Received: from DS3PEPF0000C37E.namprd04.prod.outlook.com (2603:10b6:610:11c:cafe::5e) by CH0P221CA0020.outlook.office365.com (2603:10b6:610:11c::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Sun, 22 Mar 2026 19:53:58 +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 DS3PEPF0000C37E.mail.protection.outlook.com (10.167.23.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:53:58 +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; Sun, 22 Mar 2026 14:53:56 -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 v8 4/9] dax/hmem: Gate Soft Reserved deferral on DEV_DAX_CXL Date: Sun, 22 Mar 2026 19:53:37 +0000 Message-ID: <20260322195343.206900-5-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C37E:EE_|IA1PR12MB6236:EE_ X-MS-Office365-Filtering-Correlation-Id: 9ee7ed8b-3a0c-4eea-b76b-08de884cc1a9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|1800799024|36860700016|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: sCMJOUe1cky1LfFWXQg3hlvpol0pyrmAbRCh6A4Id2eJ9AXEdXENMlcdZHBW46bVNlysYjg7sTh5NkuRppa+BA3tz4ZpKOZbJwdKSwDV22JDrDCXIx29IYRUEW89d80FZOfhMHdmfp+kpsIqZqtylUic3hSoFyt7FaTxb6NMdMi1snQbSypfbntJw1Aa9/EHfETFibYuvpyFGJzhaJkd9zAgHKVGTCP3jrup8tweNlXmaVwn+Jzu/yYHE7j0pOFCbmmDzfZnGbY3ugrgSoyDkO9UzDtZDS1yhcjGtVPwbwoqF4w88q4/8yinmGba29Qs+IvkyFwReFKslN2sMTfWhrY5GaIqgafXGCr5l0ifGv32MR/EeQw9M7YhBq4JyBiG8Yj0Vd+TOSzB8b0/mY6aWLPO4n1jo8+xuT7TwTRuSNNzFz9lXLW0G4YWwb8GSdICGBIJ3S/tJd5Q88oG4f9QJ0+oHJMvdOX0h6qdWiaU0k6/plWFRP7k7gbXg3noAzJeqhAV5IF2FNHvcW/j4iJ4ik2MZN7XvKTsFMPv1SZbUuxcZwIdMRa9DGsbWTxcirZcTMakZrhgqu5aNSxhvQBICuNCWpnKN+LC/Tf2lLjXblmCOrq4089P0pBiyF2aLo0GGeon9nsRHdNmlcfROoWTG3jFCNcySyfAoh1CMGQ7tKGSVa4ftK07BV4p5S6FdgRdl4i7T41kzIa9sp1qA2unzUjof1yHwPs9LAsV6jL70dsjDKLLeo9YEQ7OeOzETexyvQbcgOALdnIkARW7x6CXEQ== 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)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WI/dqSCt3KkQ+5zOpvKRlLXemIZO30/pRUuJQsFsQRdHogX2zAsE8BJ2V9xERNaFOCF8gowyXf1KSqh3YMQmAcTB97laUbap9xLD461oaZGi3+BFkNdlzDnAG4SISWeBksCwS90B8TrkzToLcAm5h6e98BidnpFvgIOHEqFHoFz6LaAzvCllFzZGb/zo1RogwaMy5PnOm8gKZogPMUBtQZapsAFOjzFNFMTJje8ILhN1cQYnU6pvMnfhf9PQkMMldqYi65cszfAxzW4aTDxumgTufB5KBdtspRnMd9bC5CqbIdER33gqbtP672UgTEbTqvwTt/v4+wzoLkwGaGAxNItJlNJM8c8qsqd167akKy8fG+YFqCMa6g3QSyMU1ls0Cl03rSE2bnf2wNygQkdqCHUlLJRlZH5gYaeH03SmXrudi9qvNhklimJI6dbOIxLA X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:53:58.0471 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9ee7ed8b-3a0c-4eea-b76b-08de884cc1a9 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: DS3PEPF0000C37E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6236 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 85e751675f65..ca752db03201 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -119,7 +119,7 @@ static int __hmem_register_device(struct device *host, = int target_nid, static int hmem_register_device(struct device *host, int target_nid, const struct resource *res) { - 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 Sun Apr 5 13:07:30 2026 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012009.outbound.protection.outlook.com [40.107.200.9]) (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 D00F237D11D; Sun, 22 Mar 2026 19:54:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209247; cv=fail; b=MlGXRDNKsrADPAliJQjPOFJYnR08lOc+FhCLJW6yt6wLHGXyil6RMyuculAyisVABU6kpi+9mQNd6UJ7+RyIG5fu/KHwRg1WmDMsDUDiTMpq9BSANrXQkp8VPdsTpz4U8ddxoc2yF9ZBU4nF81nI7T3cG7Qtj31/u4I+pCwtAbo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209247; 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=U6CCSOvrcGu11TQ5DzELFwo3R5U2dYrvsBtteJgVui4get8DgzlJwZkCWjMO2+M2lSYDU0qGtVfwgDJn97nBwD3r0GX4oc5sSzj79/JbpnYGv8/sdjpIru1MuSmtFR6GBpuk/DN7UzXkg7eW4DTyYDIOyN68FPYFMNosAx7ka8U= 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=oUaTauc3; arc=fail smtp.client-ip=40.107.200.9 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="oUaTauc3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O7nPmp7IptOelpLrkdcjZ+hIlSLlZrZNWjvydbHHNwHXfdskWu+0funhbBVztsI03XGc0baiXvbMklGc2/zi8Frb3pwNrvz4iuRei5vnRgNgUDLva5ruQgCBUbK6Vb/pAPqXByMXcgJvQMjr57vPYMM6pUlQaIuXyssSeZxjV9W5PaA6IU6bCOPA+OkehfK0UJQTgmwHfc2Jw+gu5ga8OQYLdTaP/rI0gQWpDoPG8mxqPe+hWhBm30ydAbJTQrSHh/FrtIiOQ9fMywur/57+SixP2MoiLqKzzgKcrvfN9AlUhTpt8oTJcvW60XhbvZLl0odLfNDli+plqFjS3r0cpg== 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=aZ1VlvohXGBSm1mfR/Q1JrL+5T/gOVMu/tQXQV4NwlN/JTnuxEyMasbG8ywQZykxiECK/bTw4IL99JVY/v1py9U5ilGSxkabuXnEiMSi5n3rbCdq6cDDdIuayNmTsF7Ug1AoRWdfW6s0Ta68gMz1/iSBPrDOgJatj+k1SioCEyl5peYNm9tzgKhe08HiFjwNWgLTSM8Zq3eFcKDeznSwcCaoTu0Xdq+4CYualbfK5vwCtCBgWVLfrc0uZ169vNcdTwoc5rBC6C5sfIDrB7U3Y0wmMO0euwTV9Jiu/0jteHN6hcdciq6EXlZVlCD9pP3tzwjvsHAQIqcz3UCCxATFZw== 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=oUaTauc3pSZGL3LrP4c4HrG08wG5RCrf/3U6cUKRH9mrh3xM94I38WHsaVwFtCJz5IGQIT3AP64ubpNpx3jMwMoKAuDwQ2Zu3kUokSgtWzBAk+z87PPArptSVJtQ1orD1yTl9SJltb5RWGeld6wgLKSZtzLIL8Ezto96pWpRhb0= Received: from CH0P221CA0016.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::18) by SJ2PR12MB8738.namprd12.prod.outlook.com (2603:10b6:a03:548::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.16; Sun, 22 Mar 2026 19:53:59 +0000 Received: from DS3PEPF0000C37E.namprd04.prod.outlook.com (2603:10b6:610:11c:cafe::ee) by CH0P221CA0016.outlook.office365.com (2603:10b6:610:11c::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Sun, 22 Mar 2026 19:53:58 +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 DS3PEPF0000C37E.mail.protection.outlook.com (10.167.23.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:53:58 +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; Sun, 22 Mar 2026 14:53:57 -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 v8 5/9] dax/cxl, hmem: Initialize hmem early and defer dax_cxl binding Date: Sun, 22 Mar 2026 19:53:38 +0000 Message-ID: <20260322195343.206900-6-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C37E:EE_|SJ2PR12MB8738:EE_ X-MS-Office365-Filtering-Correlation-Id: b5c30cdf-43fa-46b5-82c2-08de884cc216 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: wSjOnu0KonQeH6Rl6WGVUKGP7haxMiRDfY6neTaeZYGqyIZd2MoPTF0lWjGcZgvgaQVRhna5iTtAK6ww/P5N0TivEyMbkwE6Cv+KwhtTwfGbzST9NpdZO1KbUfAEHOt78ZVa4qgdpmMqDSLtOfXwK/w3XpGrGHcjNWuWjcfKcU34d73HibKFQQcSL+2xM30/gnRlJDoMUMOOtKLYnvuWNJCm9lEH8dqMb4iHGFK1asO2DmniKedhHcxlSwVIFKXEosVQNZiPgSBG9HRnCXnzHk4UXTZinQFo1icJHPcNFqF2VHWUPVIcvXaNnePiB5QZesBdzygHpwPNUHhaAj3daENSZx77E/UQwXylF/xBgA4ccWFV2+CWR6makQp2gAI9ycImCiDWa/GU7fkPgt30zKssrDdpHzfJozXV8NvvBTwm2zZXKunGa3naIaSkiyMr7HwoAbvqClYbkJmt+TJzxylSadg4Gkb3QJaaIt6KaL7UIvH/qr/MBJ+bELjBe5XEP/SSJTcFXqziujSShOJOG+xUIJUa3Mz9TBhRiCYhd9g+EeLUzYO8uf9pZjjlcvrzfI1p3wcYIhC+GAXR3OR+B+ptuIP8SDPaBPLh/cfay13jBD/WRzShEZHzJdGEtxdwAKe9UwsZ3Xa6I82tyrN5Dx4k2shOa8pfTkygDYscqvKLtYZgztfwYhc6dqtYS/AvCn2vQM3idGiD88HzQ9D5LjtLI8VgohRRiQO9tc8ha0eD9RLhU6MH3mRCeSFry9DZbZXl4P7TQT5cOsd98l4n4g== 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: ScOnaer4fMwkaSW8+yxYFHoWh26HGl4SsctSwNrzKZLsTLvC+GYH3ErkJ+7XT3oAUW/4nCkVj47u6yknVivPQTK4tl5h2YYMWtJFYC2ksGHT0aLpgrq+DMICCilwYvdeaXuOm1grrYZQX24E8vtNYgAfsYJnPhqQELehFy0/IZGgHa9sTBq4vwJ7HVQnVoXOns+pfqo9mPGfjLBfjtZ8ItzC6brIFHyu63OgjgMnKiOO7gwkZn3PmOrnSXWAstyDVLp8FNXSvq99omRhZyn+2RrvUNat6yTNmwlF2VEjF8CTqX5XgLwe8o+AurhA9jEoJrRf8VGOVedVSfL/AltQf6LrEyzagTpUY9uQOSMMSypv96MtD6IOmXgb79OC7b8+QQB5WF9UcqoSIhYJ7fT9TNPfTtk6nlXk/4jdzeSTS5+hC9Q8Twt0qf4lXoIkkqFo X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:53:58.7895 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b5c30cdf-43fa-46b5-82c2-08de884cc216 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: DS3PEPF0000C37E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8738 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 Sun Apr 5 13:07:30 2026 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010026.outbound.protection.outlook.com [52.101.85.26]) (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 AB7C337C935; Sun, 22 Mar 2026 19:54:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209249; cv=fail; b=KHh1pI4sR9z0hzmVtg4eFDOW46DF+jawz/at/8FYn3B4qfXvmuuXpvoZ+27DMtJIBk1vRXXQoqFHE4DtGu3ypjYa8gghQCPD8g8XyRax5I8QpfgV0rSBk1PZrU0O7pgjgL30GigeSVUzPkNl0jHTkGb0LmWlAK/FifvnTE+YCpE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209249; c=relaxed/simple; bh=1Xe6cqFQcQEPk9MQAEJKowlFr+ZwsmkxlTAJbjwH6G0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=DWKyxobjrDWiLYGAyNkWuOVCGqTJ1G8OuYGDM5HVLjQiosDoIKOvKOczHPwElAPoDSO+02I77u6sylur9yVDSKsflbHo72zkbuDFgFE6iGYGMprirawOtzsWHmSU22PoXZ2zXMBkioZN9EJbTamhoUv2vwI2CNELhZu4VzZuJeo= 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=ewnAvxCe; arc=fail smtp.client-ip=52.101.85.26 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="ewnAvxCe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lcDGNEE8nd9pbGSOcg/efOPiypoHsGrsua+v/rGMWCGy6B8LfjnHVr8AeW+6Y+F9DExMnGxWCtHn2NTxdkHa0WnZ+XHxO0Ns8KTBgbvY/h0uj4hUToNiulJX1SnYGC/IJtG45M5CDP8WPVpUg1LnbzgKvJ/pPdkrphEOgdfnauiPsn2numO1Cct9QS0LYEHwaONfLjktxIOscx9bU1aH0+BHhphI2wxT8PCtYrIUiNZH7dnwLX0c/z9OYk8fupVPf659bhDywGgNZium52j7yLMTSqNElzB75yRNCPvdyQJ3ADb5iLVFkM8uPpzOFxc8LTULbZsgU8q501SOsF7ArQ== 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=xBd3/vIjfU7Iyxj2xdR3/qXW4REcQtA8DRXmy3IlufI=; b=eMnFP5pWeZ03txkgzLTYjvBo0983TMevzbgYVtQnHwQAJY9E7eS8dd8zaVInONXLw0SbAT+cy5InhYda4Jc0GwTG/QYJ3TA5OvlIpQ/F6Zi9a/Rd2Z43VF8E9+RlEUbv/x9c+ZkI89IP3AKyy3uIBzeLuXCqRzG+1+kLhvcUn9KErQf2nOCfNu1FZmopDu82Kdx08HZJlEUvkHNolQNTCEp6V3igxOP5rP36Px/KUbqhD8Uy1WyUpUC+Qg7UQYZp5sojrBO2qHt1fPYfUK4qhMv9uVlyWPkeeoN1j6X1eMCvtc5L9x52EJnxenXp4pCl6Z+En0iQR2cBax0hs8VNnw== 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=xBd3/vIjfU7Iyxj2xdR3/qXW4REcQtA8DRXmy3IlufI=; b=ewnAvxCecXkoaSqj5Q24GYnhP4ePR095+WGBUdCVnhlgie6sbJ/z7TOoOvvgIhGFe0LdAaS4iiwbzDE6qx1cXiF348vx07/ptOtfmFJ0FrLO1zUkfo4mGqgWDFE9Vgeb9xMcZb5WJFNhIN7SKPB9pFgf7WibSn5UEqAqAwKrnyo= Received: from CH0P221CA0003.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::7) by SJ0PR12MB7007.namprd12.prod.outlook.com (2603:10b6:a03:486::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.15; Sun, 22 Mar 2026 19:54:00 +0000 Received: from DS3PEPF0000C37E.namprd04.prod.outlook.com (2603:10b6:610:11c:cafe::2f) by CH0P221CA0003.outlook.office365.com (2603:10b6:610:11c::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.29 via Frontend Transport; Sun, 22 Mar 2026 19:53:59 +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 DS3PEPF0000C37E.mail.protection.outlook.com (10.167.23.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:53:59 +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; Sun, 22 Mar 2026 14:53:58 -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 v8 6/9] dax: Track all dax_region allocations under a global resource tree Date: Sun, 22 Mar 2026 19:53:39 +0000 Message-ID: <20260322195343.206900-7-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C37E:EE_|SJ0PR12MB7007:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ae48706-779c-405b-0d14-08de884cc2aa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|82310400026|7416014|376014|1800799024|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: M4qONq5P1pnYU2lmNVDi8D7oMH8PCPuwTm+IBxv3HF/FYrXbX1g6Tm3ZDsQA5iHvLlBMFGI0VWnPqkxG38lzqsL6/Tiiug9zlxLdWCW5A7qpUlDUSuwTtPWfr5oGg7XKZGFu+Aly+PPTt00PUb2aONEuHaXAvY47GNa9II713UwPIGWAluc9r4x/KgVS0SqF1gu7uKjqWeiXmkr+sZGlbki0CYH992evuflgPGc9PP7RrqKuqRQCBIzilQ1iazs/uNk2AMIsO+/vTndKukQZqMW/kKfWcnZm5q0C2eT8OULkShsmIEM9bmhjgxpNCmBeEWdHnrXjLGv4MCJCv2dqovGSzEU6xBO+j/qdcCpCbGHD9MaAjc0+TXqIVz303XTAWRv8snf/HjJgyMBxWL4uVM75OnH26I+Vm9s8Il0z41muJpqwuN+F9X8lD4dbnCr50fgHQbB/6klJJQvq7wzsk7QvJP/UBKxAk+4pWdL/zqtdNDPwHp8NTeg9LWhpTUw2ZGF8BUm8wPYKep/dTqBMlB3dna3opuGoo0n5fe9so4RsfuNzXYP74z0wgHWdnsJ4LbfzEehl7O+YDVF+atLrtH3pkJ+W6mdIVGzsmPXp5OjXrlBp3j++8gc4Bh2194QoCvFYb9esCxMDrQzDcNa4QHc5TruAdMhckd0mNh81Ky9uXBM6krvbq3mnoAsBJmcDNhKF/9I9oELduOKb0m1jlAgewhBFBt2CKk+48u3vW/s5yr825eUCTvdVlLKn/rNm4zZYTeCSh6yPGu7O+CoM2w== 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)(82310400026)(7416014)(376014)(1800799024)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h0UAcsauoRnItGTVl6H7S0pMnL28f9ppTOcxCzgbnXks9tJerqnHBWXu6yrBKLlAv2ygdF402JU0AxQEZ4XMVwimKzIy9iA6EqldkXdnups/wCLKNPxEvxjAANXcYIR6wCd0i7hf9L+Wb+XyRW1Svb00UeNTD0wXsmGGkx4AyVAn6hMsBurPEWv1YQQHvY02Dc870n6H4xyXYItYGrzYAhjlcAOFLsK0zuUHCkvKPrWVJvXrg1nQpvd+vYcQ5gjV/i/eVgNZ+vQtnNHjPqmxXZBINMSLFbw+gsZOWChXDwiZ20WSCcTlOPwa1+ebNu+DbG2hEbwJkc+vIfo3Y05qUylzheC53Ztx2qgErxD7xIrO5e4i8QVK8FP5isdKVrWG4QeUD4gdxpglO+sly8/5Qto/C+xVPXHDZeqvuV7LEvAprhCwJxWS3wu6dNvNkfGT X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:53:59.7269 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0ae48706-779c-405b-0d14-08de884cc2aa 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: DS3PEPF0000C37E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7007 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 Reviewed-by: Dave Jiang --- 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 299134c9b294..68437c05e21d 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 /* @@ -627,6 +628,7 @@ static void dax_region_unregister(void *region) =20 sysfs_remove_groups(&dax_region->dev->kobj, dax_region_attribute_groups); + release_resource(&dax_region->res); dax_region_put(dax_region); } =20 @@ -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)) { - dax_region_put(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: + dax_region_put(dax_region); + return NULL; } EXPORT_SYMBOL_GPL(alloc_dax_region); =20 --=20 2.17.1 From nobody Sun Apr 5 13:07:30 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010003.outbound.protection.outlook.com [52.101.61.3]) (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 8AABA37F74D; Sun, 22 Mar 2026 19:54:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209251; cv=fail; b=JYXS3NznmtXrOXiBdCvvfTU7vNGxmTHLUlvRMYY9Id1+JwtKfCn6XTkBqszZw1LM4/nW22xsDbUukFGukNtIeNzb81Pnn6cX9ZHzF1WMFnsBWD2ZGrxMMJcb8NuVWQ93KvrSMSt67TYBKnF5TfijttM9nqEZmABCebexXp3h1os= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209251; c=relaxed/simple; bh=4Pz8zuLPpAfB1mfqyilZgIDPPyJmXI7rO3tzaUJvq0M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=GEy/A+deKu3A2xwCe+bUTQzN6Ro4K24shYW6rFfuTVwgztNLxyWP3LJHHi3l8arAeb9ISAJvGXmDGpZewR/kO6BVc4J1V/2z41HUH2ojD41iA3+NSAK3Ltmvx+NU7EewHdk17EN8a2khnZDxDGLGynOBJPj2E58fo2AMSV/FVao= 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=e/99mmOb; arc=fail smtp.client-ip=52.101.61.3 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="e/99mmOb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gLQwapgyhwcxqxr5OH4LYVPBS3LLcWs4mCkqyd9GtE+rXR/0NksYIX1+Tk8yDgRiu03DC+mkjMUigjntLVAIip+Sqail3idBxWLIPDnc9ysSHyx63TQPZIAMUuCWnC0o9cL8ISCjvEN/46zQ7xqiW2VLl/l6whRXrsh85BPs9lfwSUmksHc4f0WKs3731Kq2zlsNxoEI0HBxqfTgzkZZ/LkAq4+T3FW6oiWZnn6Sie17PASddN6RiAKPIhDWN3vLSMJS76QIajQR4JiXZn1ef/YD+GvaFypo8CluqU85x9dUgnxIFTSEHBirgxWeOZxHTnUD70arn1YffoCqpnAzTA== 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=pitUpiql2D1XFIGf44t05jL9SSJ2L6Dg1RQcSUs1zSjkp+YsLnS/PdSaFzS1jbbKvFG4svV6AYPmbWqZFUAyhiuQGzAiSKnp1qIp8r8JlyNUvjOQCGDie75j2I58xssIsrb3ALKmI3cpmxZzXCV46p0M8M1KAdCJKqW1vk0evCUtURqgBzUDAnI6fGCMUpB10TJVM5NkSSY2WpGJRim6EdUplEFaDO/SXkWwPf5oPXGWFrnRbmrLaf3lc4+WV0182ZLn3rIA4SOanpzX0exdXSdooxLyVV9yu/0j5HprcX4ZCi2H4yQQcCb7BRey1s4JnUwNdpGS2IvKvzOAhZuvhw== 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=e/99mmObGWbCJdxpWGpD7MVw8PzkbCV63Ja6EezBTSt6GDZCMmhKoXwrwlv2Z+8JCXco6Q7O94coPIUCVfpE7S8AsxOH82AHvfWInA4Ob0WzX8uBAngMEXuCC1hP2MbF6+yJZ6W9zix9l1hyeuswkESJBVRZbWexSpFQcw5EgAU= Received: from CH0P221CA0002.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::10) by SJ1PR12MB6169.namprd12.prod.outlook.com (2603:10b6:a03:45c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.15; Sun, 22 Mar 2026 19:54:01 +0000 Received: from DS3PEPF0000C37E.namprd04.prod.outlook.com (2603:10b6:610:11c:cafe::c9) by CH0P221CA0002.outlook.office365.com (2603:10b6:610:11c::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.29 via Frontend Transport; Sun, 22 Mar 2026 19:53:56 +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 DS3PEPF0000C37E.mail.protection.outlook.com (10.167.23.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:54:00 +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; Sun, 22 Mar 2026 14:53:59 -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 v8 7/9] cxl/region: Add helper to check Soft Reserved containment by CXL regions Date: Sun, 22 Mar 2026 19:53:40 +0000 Message-ID: <20260322195343.206900-8-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C37E:EE_|SJ1PR12MB6169:EE_ X-MS-Office365-Filtering-Correlation-Id: 8c6aec79-4b45-4afe-1989-08de884cc362 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|7416014|376014|1800799024|36860700016|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: 6CHKQi3PdnzbWpbdzV6hV8/gkyfAWhxGTmkTSkLok71GusyMMUMyM/b5lq0D0iitqN0qjpvKP2dQCt2hmUENKREiDk/hJWxO0ZtFUEIi4TVNaPmxjphbMxZJjkFPVkKxHzBvxMRwsyck86TJaG0Ij9TLcb9FqpCMGbPFScFy5cmileHdVxf55h+RvfIc4xAwPJBYutBzjODkoPiCo6IJg8F8ksZ9Zh/fbV0LWhB8UnN+Ia1P01IUbKwJ6A1qdpjRlBkFan+QAD/IyuV0U17O1lcBoqK3Jj/Zar/8zjJC1CEB9qACrvfW4FBmIThytM+FiqT+IX4K4zGYAy24I66SZhr08g+MUXOzjIali8ubWjElEf09DCKjFOnbPgpkLfdJxK6jRbwDDbUoNiQ/fdCk8yf94qB0K3GfXhOPJKs11UwZZlZjMPczxql9wZojp81sPt9NK4v4EOYWQgydZ391M6vp3bLww0mptBoUDxzZvc1AnFf1CXOv8+Sr0GO8fomZiboEXT5hDxD+v0wlUKriyabJw+7QxX1u3iGIrD9/BViic3acfAf6ThAryNgJIkf00qINTPcVFUTqA3XM7dgZbmRW/3jL79ZEE+Uxgnj/n+HZHU8mpDYyHGJeRIojNsayGttvVpcaSlCkd9LDxl6u5v7bDipj+Imqt30BrWYqmuG3hG5GZp0MpOjsiqfhUY6p5Vyp4aXI6/tCPBGfVdVuhOQa/vWnRS7e1BIPofsfSwd0UoktTZh6EVDwSurm4Ygi2DNaZVS2a1QrZnpMDFkKYA== 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)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iBwrrmZxEiThwsw+1xYv/iwsrjL/IqJXV88duGxcluWQQj0nd2I31TfLPdJKrmwHmgvyqvotl6HP3cmUer4zk1XccZFaeZTcchl/v4v1QJFXIYyj7lqVSvo1IamdxnJIhy7ILINLmaECSRsd3jBvPN/K3qu/nJg3FpwJPU/02svNreyCu1Qk/WGm8SJW/KYgVKn5rHvUqJbs4O8qn9/g2BrpXxtIjPo9h8K4rh9jyjO/1Gpkw8ZVRcNMODTkGwoPpAjEUTuCVPu9apXnDhNteZzWpNUEzd4nlOMlWwAgLn7zr2blyaJQwiEr7SbLS1sNW/uXKgkgZM3EgAWeFPuK0PWOFyWac5s+1v8a3W5kzsHx3/1mvKIQeD8r5Q9pcaSJP1YPD/9FduWb4KbDlgDoWH6E+VR1wd5bggaRCzIAtyXlVCZs0+rceFejQRUa/swe X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:54:00.9613 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8c6aec79-4b45-4afe-1989-08de884cc362 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: DS3PEPF0000C37E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6169 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 Sun Apr 5 13:07:30 2026 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010056.outbound.protection.outlook.com [52.101.193.56]) (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 D2177382F03; Sun, 22 Mar 2026 19:54:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.56 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209257; cv=fail; b=s1NDewIHamMfVwSiRMIj7DGQCgtHIaBCap6XgjpaIPzaNujFNeKPf4DcTrgqUKRREn9xvbQcwhr+X+ZHjeiST0XZ54lWe68w/hDIZEaXLM0OZZX+gS4LOZjyubgrGSWjbmBmIKkZwkU/0wz/Qiradnwd0sQg/I9eM7Pt1J+N3mg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209257; c=relaxed/simple; bh=BUJ3WXCIsT0lN4OdMDMFPrLaCKREv9/V9oQcoeeCw/M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HwYvq5ff2/TBkjWx68qKZFeGfswuS7hJoO/wS5B285aikwoXWfE0EVzK54HRYmvr5H28XAvfjX5KdJF2FZjMdHZa9TBM4A+ErUHcDqCMkcJITcmR9hihmGZOQEJaD8QQsMPhzwOSmAyl4lHsXdZNx2Pf5N77k2c2ySdLd4El0+Q= 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=vWRAXO1V; arc=fail smtp.client-ip=52.101.193.56 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="vWRAXO1V" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vpBZI7mjrSNdYq6VArM8LNIrHWFgVkIlYIa4LM92I2usD92WHwJEDJ4V3FcfH5jOLna9BfzxXBvluQ+zNxBYiHDcvP5TCYSSTlUWGBjwk6mywVEIwlYc8Vez3oOfqkIrl5mFAIZUyJA0aPT4tIrrGr25zB26D9xrwiMnPiy8R6+xffWJtzX5/NZbgtn3JRE4V5vS9ZWVgZ/wyAOOYgAua3AFENZvgcT2m9jZXHZSx/OdJEU8dAomTWtBaqgyEtdOYVmtfWP7F5bnoFIjiN5CRgSikjHAaE1tisjKMjdHRXCMSQE5bl8VVEezRLEa+Yv5Kim/acQq5kS97duPBR757g== 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=OcbuYMtLz5LFUvGDChYb1Ygz/3npVATzPjwNrtoxGLY=; b=bZEVIcldwVNEuUNNhDLbAWsRcdhGb+ZxRlIZ2Y2xdc45cdufq9p7+yhQpM4PZNWptoXYiPyt0iwgYXWaJmASCtfJ7xVyrVzzQGpF8HNteAdkiT8IQqIgb+xTnSc/xASd1GesdxLxLlXvZRy8QcW8sdYS45zGWuhRl2iNOOwFKavHKBvHwibs3WORctYDWXkXODOJQG9G/LwNIDVnCWpkQUAL4ch/88Iq0m1pdaesKoofcNAmKI7lhEfAIZxu/HFpxxF/vkyYKYKHYT9pJ0ZpmBpivXz5/6XUzXwSwt8JVTSEPkvdaAQjxQXH+UW+JTTVonrQZhd+RJRJAAhcFyetdg== 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=OcbuYMtLz5LFUvGDChYb1Ygz/3npVATzPjwNrtoxGLY=; b=vWRAXO1V0dchvAfUU34TR2MFg0Yu3ZZ8mJgMY4KcWiQq/CHYxKfwN/3Fijp3pbH7ZHSl3cJR8wBFWFvsHLJdEotC/doeDwp0kIm81O4CYKEcmQLMUFlOyiWVckx9mmNex1ipIFHHjZjGBBb64CoLiPnn+hoOB6HRJNEPADUyKYI= Received: from DS7P220CA0057.NAMP220.PROD.OUTLOOK.COM (2603:10b6:8:224::9) by BN7PPFD91879A44.namprd12.prod.outlook.com (2603:10b6:40f:fc02::6e5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.6; Sun, 22 Mar 2026 19:54:03 +0000 Received: from DS3PEPF0000C37E.namprd04.prod.outlook.com (2603:10b6:8:224:cafe::c9) by DS7P220CA0057.outlook.office365.com (2603:10b6:8:224::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Sun, 22 Mar 2026 19:53:55 +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 DS3PEPF0000C37E.mail.protection.outlook.com (10.167.23.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:54:03 +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; Sun, 22 Mar 2026 14:54:00 -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 v8 8/9] dax/hmem, cxl: Defer and resolve Soft Reserved ownership Date: Sun, 22 Mar 2026 19:53:41 +0000 Message-ID: <20260322195343.206900-9-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C37E:EE_|BN7PPFD91879A44:EE_ X-MS-Office365-Filtering-Correlation-Id: 794be9d7-0dbb-45d3-4e24-08de884cc501 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700016|7416014|376014|22082099003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: I/arLQfNgJXpVWsVXbsTOJOnPlBhB12YVMMkPpf5lSixgp9ywIv3qZ8P0Zk3uSEZf1Bf9jvPdIVWUdGuisvTc73/SVqPApqoiFbUOJac3Vx2KZn3NGVtRvgXV6GecJtex7F63ZQ5Eg+clh99jk9bs3/7AZVEsKO03KCULOxFQfU8KW9Wg0HrdOIxaYivLnNv+lqOjv+DDsExl/zbAjZ1CJBzIXeRQWOBu/yWzWxEChozHAV4tJVGakOuc+NcjFhkeqvHnkK8m9X5CI2ShNbBd/RhIpr2I8a3aJx/OWSCOkw+I9YIGnp6AEyPnFpi4ii1KOlw141faWWfICbRhVVUWi28MqHEXMW1PJ26uFEnBN87V4TPyC5WEMYhi/12BXTEAOmEQ9MT9K2wFnU62tVSPkgVOZNkJ24/6Iu9jztQFiST8TbSK6hZgWvfMnI1mu8JcuH1yUFg0d8fQ3QM6d5zJnqOi9XX5y4li/Ezf/pE97AnE3SDktVAWfP2V+H5avJObw5M7r31jxs5h9xk0ZZWbaDniVZF8fjZ2jP8aV/39kp4Rqwrx7efM2f6nDYxuGQy7SgnmNB9jIExeA0tEQA5dtCzRKxkBVtewHub1DXZoIs5BO3N52L/4XvdjwfGvRIrwDn89kijel778feAmYDRlT3oI/j/UPHlKP+TRy6Nd/weG1qIitFSLKzldATCqp658eMwMCA5zwlVpdZA3GZrVJkoVh81u6Dtr6SUWvQ1WyTmzNksb8s27WSgpRLwSHjSZkzBb4zSUEhkGJ+zoDuxLA== 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)(1800799024)(36860700016)(7416014)(376014)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2xvRTDvlhFa5Zc82W9ifdXUxYnOKB8FKsJ2X6rplnXe5Dia7REyNucD5Qgyhjw/FE6kNzjfIyBYUNeVHHgnKpTwOT1mh5HQfAwTPxjFTq5VcGKl9QIYBNQXnaHB4n7TZtoYX8BrqnfGTd0qqeKLlBR/he/Hl91jxF9pr4d2KfDIUtWPNd4t98WP9Qjk15iHpthM0YlzY2PxQi4xKTjfjwK7DecoBm6aHRTGyN1SRm6pU0h2LxHpYX4ecWeHL6cn6h6ggABxXwEI07aL69P3PRBNv0uh6kM6eAw+TMHKOYyksiF0rQzuCdbbSc7oqVgo1Q5X1J1r8H3wT1VXbXHKmSIWtj//K5gQPA2ZMRV2eHOOFYuScQtrX2ELbEGXHsutWx/J8tyvg+5NdzEnzZj937eToIylPijaWDebVDcQhoaoMksOtaM6g0hE3TXCgFgfu X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:54:03.6835 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 794be9d7-0dbb-45d3-4e24-08de884cc501 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: DS3PEPF0000C37E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPFD91879A44 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 Reviewed-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/dax/bus.h | 7 ++++ drivers/dax/cxl.c | 1 + drivers/dax/hmem/device.c | 3 ++ drivers/dax/hmem/hmem.c | 74 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+) 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 ca752db03201..9ceda6b5cadf 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,23 @@ static void release_hmem(void *pdev) platform_device_unregister(pdev); } =20 +struct dax_defer_work { + struct platform_device *pdev; + struct work_struct work; +}; + +static void process_defer_work(struct work_struct *w); + +static struct dax_defer_work dax_hmem_work =3D { + .work =3D __WORK_INITIALIZER(dax_hmem_work.work, process_defer_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) { @@ -122,6 +140,11 @@ static int hmem_register_device(struct device *host, i= nt target_nid, if (IS_ENABLED(CONFIG_DEV_DAX_CXL) && region_intersects(res->start, resource_size(res), IORESOURCE_MEM, IORES_DESC_CXL) !=3D REGION_DISJOINT) { + if (!dax_hmem_initial_probe) { + dev_dbg(host, "await CXL initial probe: %pr\n", res); + queue_work(system_long_wq, &dax_hmem_work.work); + return 0; + } dev_dbg(host, "deferring range to CXL: %pr\n", res); return 0; } @@ -129,8 +152,54 @@ static int hmem_register_device(struct device *host, i= nt target_nid, return __hmem_register_device(host, target_nid, res); } =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; + + if (!work->pdev) + return; + + pdev =3D work->pdev; + + /* Relies on cxl_acpi and cxl_pci having had a chance to load */ + wait_for_device_probe(); + + guard(device)(&pdev->dev); + if (!pdev->dev.driver) + return; + + if (!dax_hmem_initial_probe) { + 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) + dax_hmem_work.pdev =3D + to_platform_device(get_device(&pdev->dev)); + return walk_hmem_resources(&pdev->dev, hmem_register_device); } =20 @@ -168,6 +237,11 @@ static __init int dax_hmem_init(void) =20 static __exit void dax_hmem_exit(void) { + if (dax_hmem_work.pdev) { + flush_work(&dax_hmem_work.work); + 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 Sun Apr 5 13:07:30 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011040.outbound.protection.outlook.com [40.93.194.40]) (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 A39B437F8D3; Sun, 22 Mar 2026 19:54:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.40 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209251; cv=fail; b=oVi27lmem9+vG++CAB1PuPU1V8NS71jT3R2Buno1C2RT/BrHrEP0ftN2TFS0M7PNTG47bveHka0cqdOjtGoGhhIjqDcy8YeUH9FlFdHiwnLfs/Fu6R8tlj9T8I0wmGgzJ6CsehZgqifjz6jC/uTY3+P7ZLCV1lJP3XJCvNcmcrU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774209251; c=relaxed/simple; bh=3DEzI9nacP/eOrUNkK7+SorgSwdRNLtDMi0+RuqSJzA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=iObm1FdesL8MhZ0vFugCBFG+soVPu/pZYnbJ+Vi+LfWDgdJeJhFaxJspP9BBFACN60JUjlL5sZdFFLUSWb8OtHqFqurJNOmZKTjX5z63+/+xRyGGTglPPfGt395hk6ZerOlE/Jl51SF58twWFz39Gmf+8esUaHlWwCAFJHSsTUs= 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=FczBumv4; arc=fail smtp.client-ip=40.93.194.40 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="FczBumv4" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LdK0nW4ryLD8qRkvWAniiQc3Apfjm08sEurxoYJS4PtsOl+fS1oaj9pXtXLc1wM/fcCRh9EACuYSOibvBjjNP9BWp3dR2bP2oYv66YmOsGQuvHoa49tzoVgfwRlBrEtNqBmjlxr6Co7jWafh6ADfolYsIF6Z4bUOLk0S//pSfv0qxzfRO6Y1wdlvD6oTWGay7Gp8653sNK0kbvtUBs1HTc3WFLUxdg3UU/+B+l0qXLg7ai03n/ZzEr/kJJ/m+xq5O1A8oBb8wH9EovYFlt/9IR5XYCa3PfGo3CKPU9Rjbc2zXt5F4yZT1Qq2wjNKGY6ht+X2q28mgwOl2P1ETi2e4g== 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=hbBOmfDuKSL7p1aKy63n4YQ9yJ2OGT0d5cMTj62c6lM=; b=FgP7iIhVbC1zIct670XB3RS0pQJ9MX2bijgvOOnwxMoxEn30E2DBXdojqyei21BT/wwSCwBWsT7dknxfGsq7V24hHFP6WhGuZKHHL25MMCay8PA9Bur0ZDwNzpEERx6CKnnkb21BtQI8xyfIAiNz2EN0SX9tCJmJWhyTdC9sEp7fEE0YN5Ine5bxfZC9DWefiq68ZuZTHcqM1wESbcPljFnuo5QVVog0HOIlhvQN5+SnDCZuAJwb5B/PKFaaCIGOU+EyL73AcyFMp+uC5XeM8m46/uBJBkYBqMLs5siPbM03wnXwm+8mGmPB109X1E4NyuJBoJMu25qtdeeRbXpHyw== 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=hbBOmfDuKSL7p1aKy63n4YQ9yJ2OGT0d5cMTj62c6lM=; b=FczBumv4aTIlWoTNR/JX2vsN4yrfcLvWfXgRjwKolc4i79iV1hciDN1AuAda7YvQDV77Y2x5fMIMsUkLuZiEREljLIzOlrMltA7wfjECE/d64RNHe6NnF32x7YFM/rYMkHKl6jbttb6uZV3SP6bk/TdD2yHQKAKZOIq6b6OpPpw= Received: from DS7P220CA0051.NAMP220.PROD.OUTLOOK.COM (2603:10b6:8:224::24) by LV2PR12MB5989.namprd12.prod.outlook.com (2603:10b6:408:171::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.15; Sun, 22 Mar 2026 19:54:04 +0000 Received: from DS3PEPF0000C37E.namprd04.prod.outlook.com (2603:10b6:8:224:cafe::12) by DS7P220CA0051.outlook.office365.com (2603:10b6:8:224::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.25 via Frontend Transport; Sun, 22 Mar 2026 19:54:03 +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 DS3PEPF0000C37E.mail.protection.outlook.com (10.167.23.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Sun, 22 Mar 2026 19:54:04 +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; Sun, 22 Mar 2026 14:54:01 -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 v8 9/9] dax/hmem: Reintroduce Soft Reserved ranges back into the iomem tree Date: Sun, 22 Mar 2026 19:53:42 +0000 Message-ID: <20260322195343.206900-10-Smita.KoralahalliChannabasappa@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20260322195343.206900-1-Smita.KoralahalliChannabasappa@amd.com> References: <20260322195343.206900-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: DS3PEPF0000C37E:EE_|LV2PR12MB5989:EE_ X-MS-Office365-Filtering-Correlation-Id: 9db0729a-279d-4fea-e6c6-08de884cc59b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|7416014|1800799024|36860700016|13003099007|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: ZBul8IRAbXqtqfVceWIsNVkHz1biQCJNNVf9YEFhl80jGOnAGWVH1LSShfnDBtS0ZbKXTwnkIaz83Qm0qCp22CmXLdbrukF3SkxUMU09ymqIc9OoBWaQBx3k7nOUR5FsNSEFVY6kXwq3IHXBkigeiUBc+1RmPTC7b54Cya3ycPkqVLMjvh1/Mg0ilHrTBkaFdEpgCcgg5R1Y1ibMQP8XwSP/kN55AUUgvJk6J5S5SAeStyS+TFw8aMYj05HTRxL8l5UdgVKHSKxBma5sVG/DUmkM9tLoOzkJirsvc3rtSXpf+zJHXsYnkrGdNBOGY3iG9ZkGdhKGqIN9rRIX1KUXL/2WhbfhkHoN0G9MQTB/9EHWQu+4CJKjg383rcyJKc8bvavBk4Plk/JVWspVxsI0Mjw+eMIMIZekBI3aqBi8SaNw9ErNrHFI56HeTB5umcFCt/bOor/txuTow2cp/5lnqkf29aCYE/j1f8ilmSr1mLl6Qex8jXj4T1zH+DtCucttluYy7CRRGD+F+VKdwep0mMKaE4VEr7vWTsV5vnN65Vcx6NFi4nxZ7eOrHt3gyvi4ktrKMW2+19aJSBXvdoG1jWoCDxPLdu4HLAqSOpxx4NwA/4zt/3GCJNZX6FKxah5L622llSl2E1s8skjTsRltgSBb8cGqNpnmvdgrFSdc2sEMk+gwSMfCsq+mMHyHZL5klV+QPtOMgY67GGPVhF6xJBfi0pr5xeOeUFz0rWe8ASAcav9NSSrbUw83LjMBYdr8BC2AwiU0l32FqbPCLoq7hw== 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)(376014)(82310400026)(7416014)(1800799024)(36860700016)(13003099007)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6a3jV6/SeRU4lhnHYtanlnfyDebfZKFb1jjuuZnjaWjQdd7N5VKlEjbMxz2oaD122LvdcxqKv7a+GExVoaMQsaENBddq+pioWP9Ov4SP4eDdDKiwL2peeI6gprgJ0AEbW93v4HHU2JaK7a32QZs2+zZnCJb7G2t81wkQxy5wHBXs7+4RJ8lG0hAbuqrEp08lK0PN+YsTZkzE3a3othhEkcP2V/2xREKMa5zfM03G5SJvjiox8sVHHCGF4efZHh+IZvhwRaCwMngK4nLvE1mKq+wFrR2MGe5zAISZ7ZPql4SK/bP/eVdIDc9cWcdEFpiJjWxmInUXa1HMsPhnMDcvW8TUoONTnU5iv35Hvy/yhz/L7U9JipBFKDJAoTFITR3eKvCoO1/BM4xGM+CBmC9cGvPLAynKS1TNjiYdNrYtXRYus877AvDWYzKYsc0Jsw51 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2026 19:54:04.6884 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9db0729a-279d-4fea-e6c6-08de884cc59b 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: DS3PEPF0000C37E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5989 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 | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/dax/hmem/hmem.c b/drivers/dax/hmem/hmem.c index 9ceda6b5cadf..b590e1251bb8 100644 --- a/drivers/dax/hmem/hmem.c +++ b/drivers/dax/hmem/hmem.c @@ -76,6 +76,33 @@ 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_obj(*soft); + 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) { @@ -88,7 +115,9 @@ static int __hmem_register_device(struct device *host, i= nt 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