From nobody Sat Oct 4 15:57:17 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 CC41C32145D; Thu, 14 Aug 2025 17:17:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191849; cv=none; b=jHrTspabubgH+qo2GTp5jhUdaOtnAlfyf3a01R3Y+qDVkvFOOS/JhzldvX5CoEKGSqNDax5fpAamwqgrPMnVA6NMFWkj8UtpE4u07Qi2jgNnvCI1vxkIe4UwpB84ruJQqk2BauAzQJVozNYLOodKvUjgBKxGC6ztEX5qy3hY0ko= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191849; c=relaxed/simple; bh=a/tzTHVb0UUATdpCBBpa30mw3nPFd7vzmZOm7vikXjw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Bv8ROljirM9n8plrGB7pnMYYO5tyqByk1itfeXc+WruMjBGvV6EVEAiMPbv6FC2igLhcLfBrNa0BnSiID6eRxswGas3tqvsEYafhCKvc2Fv3FGXtVxbIuyJ3fXSSz3YwLP2BPBBQx6V7RbEJX+igt0UALC7C4KjZZ00Ni1wJUeg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8DFE2C4CEED; Thu, 14 Aug 2025 17:17:28 +0000 (UTC) From: Dave Jiang To: linux-cxl@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, rafael@kernel.org, dakr@kernel.org, dave@stgolabs.net, jonathan.cameron@huawei.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, marc.herbert@linux.intel.com, akpm@linux-foundation.org, david@redhat.com Subject: [PATCH 1/4] mm/memory_hotplug: Update comment for hotplug memory callback priorities Date: Thu, 14 Aug 2025 10:16:47 -0700 Message-ID: <20250814171650.3002930-2-dave.jiang@intel.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250814171650.3002930-1-dave.jiang@intel.com> References: <20250814171650.3002930-1-dave.jiang@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add clarification to comment for memory hotplug callback ordering as the current comment does not provide clear language on which callback happens first. Signed-off-by: Dave Jiang Acked-by: David Hildenbrand --- include/linux/memory.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/memory.h b/include/linux/memory.h index 40eb70ccb09d..02314723e5bd 100644 --- a/include/linux/memory.h +++ b/include/linux/memory.h @@ -116,7 +116,7 @@ struct mem_section; =20 /* * Priorities for the hotplug memory callback routines (stored in decreasi= ng - * order in the callback chain) + * order in the callback chain). The callback ordering happens from high t= o low. */ #define DEFAULT_CALLBACK_PRI 0 #define SLAB_CALLBACK_PRI 1 --=20 2.50.1 From nobody Sat Oct 4 15:57:17 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 3C7AA32145D; Thu, 14 Aug 2025 17:17:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191856; cv=none; b=XU6IsFLUYwHx+fihYrKmKD4PtjmUiWI0tqXduXKcppMhGip4cq56y4G/2Jf122nPwydVBIJb+mOGXjn5BmD6VXOwlfoUUozS8cobDBY/wqM4xxunc/q6Fvg/VuQCAfroRikGbZD3KcD+hmkCX3CcTeaxtzBZlpvYLmZwXNbEydA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191856; c=relaxed/simple; bh=VHAyX8lQ9ZY5EEEs5iW9VxbbfBWZFd6zMPtgUD4CwWg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ljpOTAmsqVoSRPhyI48kUGuqWoJ0y3fE1U83T2kD84sV9Gb8MkgW57K6ERkOACzfOXLFC0IhPZELSB0jHIqaaj9WbbcRpgP4+s2LpvZzDXVilHV4RVjdX2dHjseBUJUF+KpNgK/RN7ufkXPoPYOlv5KjmxZldJCJO3lm6vseWok= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34F52C4CEED; Thu, 14 Aug 2025 17:17:34 +0000 (UTC) From: Dave Jiang To: linux-cxl@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, rafael@kernel.org, dakr@kernel.org, dave@stgolabs.net, jonathan.cameron@huawei.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, marc.herbert@linux.intel.com, akpm@linux-foundation.org, david@redhat.com Subject: [PATCH 2/4] drivers/base/node: Add a helper function node_update_perf_attrs() Date: Thu, 14 Aug 2025 10:16:48 -0700 Message-ID: <20250814171650.3002930-3-dave.jiang@intel.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250814171650.3002930-1-dave.jiang@intel.com> References: <20250814171650.3002930-1-dave.jiang@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add helper function node_update_perf_attrs() to allow update of node access coordinates computed by an external agent such as CXL. The helper allows updating of coordinates after the attribute being created by HMAT. Signed-off-by: Dave Jiang Acked-by: David Hildenbrand Reviewed-by: Jonathan Cameron --- drivers/base/node.c | 39 +++++++++++++++++++++++++++++++++++++++ include/linux/node.h | 8 ++++++++ 2 files changed, 47 insertions(+) diff --git a/drivers/base/node.c b/drivers/base/node.c index 3399594136b2..cf395da18c9b 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -248,6 +248,45 @@ void node_set_perf_attrs(unsigned int nid, struct acce= ss_coordinate *coord, } EXPORT_SYMBOL_GPL(node_set_perf_attrs); =20 +/** + * node_update_perf_attrs - Update the performance values for given access= class + * @nid: Node identifier to be updated + * @coord: Heterogeneous memory performance coordinates + * @access: The access class the for the given attributes + */ +void node_update_perf_attrs(unsigned int nid, struct access_coordinate *co= ord, + enum access_coordinate_class access) +{ + struct node_access_nodes *access_node; + struct node *node; + int i; + + if (WARN_ON_ONCE(!node_online(nid))) + return; + + node =3D node_devices[nid]; + list_for_each_entry(access_node, &node->access_list, list_node) { + if (access_node->access !=3D access) + continue; + + access_node->coord =3D *coord; + for (i =3D 0; access_attrs[i]; i++) { + sysfs_notify(&access_node->dev.kobj, + NULL, access_attrs[i]->name); + } + break; + } + + /* When setting CPU access coordinates, update mempolicy */ + if (access =3D=3D ACCESS_COORDINATE_CPU) { + if (mempolicy_set_node_perf(nid, coord)) { + pr_info("failed to set mempolicy attrs for node %d\n", + nid); + } + } +} +EXPORT_SYMBOL_GPL(node_update_perf_attrs); + /** * struct node_cache_info - Internal tracking for memory node caches * @dev: Device represeting the cache level diff --git a/include/linux/node.h b/include/linux/node.h index 2c7529335b21..866e3323f1fd 100644 --- a/include/linux/node.h +++ b/include/linux/node.h @@ -85,6 +85,8 @@ struct node_cache_attrs { void node_add_cache(unsigned int nid, struct node_cache_attrs *cache_attrs= ); void node_set_perf_attrs(unsigned int nid, struct access_coordinate *coord, enum access_coordinate_class access); +void node_update_perf_attrs(unsigned int nid, struct access_coordinate *co= ord, + enum access_coordinate_class access); #else static inline void node_add_cache(unsigned int nid, struct node_cache_attrs *cache_attrs) @@ -96,6 +98,12 @@ static inline void node_set_perf_attrs(unsigned int nid, enum access_coordinate_class access) { } + +static inline void node_update_perf_attrs(unsigned int nid, + struct access_coordinate *coord, + enum access_coordinate_class access) +{ +} #endif =20 struct node { --=20 2.50.1 From nobody Sat Oct 4 15:57:17 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 2C4DF1C5499; Thu, 14 Aug 2025 17:17:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191863; cv=none; b=nyQkOHF6pI/XKeJruGFozJ6cuwiMUQTzOR5HEowXVoWPS+diUuFegFH0PCiWl8tvr6Mng8zJ0qkJo/5fjrJyAwIz/DaOXYbJcmob1pkXTM1pJjnsdedz5H2cl9iiP0KkALxzj945txXUCy6+KfeXXiZ2WHAJNzjkAuZ5Hj0JKR8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191863; c=relaxed/simple; bh=8Fv0jTNPXa1am1ZiEmH7TvohV9ZapJgMNHCYMNK3g34=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZbhYfJaMk2IpeStQHYgZwaIuM6JCcQCa/l0ISkjVVt5CWIqUogxU8MFNKwMItxZq72uRLKwqrs1EuURfVq5B97qUkrJj/S0iVEfaHf+pI+6OkJd54j0w9anXx6k72kPOukIPNyq//ov/yGBfI+HMhwYUFgBNs6aqrHgGyhJHCBg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id E458EC4CEED; Thu, 14 Aug 2025 17:17:41 +0000 (UTC) From: Dave Jiang To: linux-cxl@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, rafael@kernel.org, dakr@kernel.org, dave@stgolabs.net, jonathan.cameron@huawei.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, marc.herbert@linux.intel.com, akpm@linux-foundation.org, david@redhat.com Subject: [PATCH 3/4] cxl, acpi/hmat: Update CXL access coordinates directly instead of through HMAT Date: Thu, 14 Aug 2025 10:16:49 -0700 Message-ID: <20250814171650.3002930-4-dave.jiang@intel.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250814171650.3002930-1-dave.jiang@intel.com> References: <20250814171650.3002930-1-dave.jiang@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The current implementation of CXL memory hotplug notifier gets called before the HMAT memory hotplug notifier. The CXL driver calculates the access coordinates (bandwidth and latency values) for the CXL end to end path (i.e. CPU to endpoint). When the CXL region is onlined, the CXL memory hotplug notifier writes the access coordinates to the HMAT target structs. Then the HMAT memory hotplug notifier is called and it creates the access coordinates for the node sysfs attributes. The original intent of the 'ext_updated' flag in HMAT handling code was to stop HMAT memory hotplug callback from clobbering the access coordinates after CXL has injected its calculated coordinates and replaced the generic target access coordinates provided by the HMAT table in the HMAT target structs. However the flag is hacky at best and blocks the updates from other CXL regions that are onlined in the same node later on. Remove the 'ext_updated' flag usage and just update the access coordinates for the nodes directly without touching HMAT target data. The hotplug memory callback ordering is changed. Instead of changing CXL, move HMAT back so there's room for the levels rather than have CXL share the same level as SLAB_CALLBACK_PRI. The change will resulting in the CXL callback to be executed after the HMAT callback. With the change, the CXL hotplug memory notifier runs after the HMAT callback. The HMAT callback will create the node sysfs attributes for access coordinates. The CXL callback will write the access coordinates to the now created node sysfs attributes directly and will not pollute the HMAT target values. Fixes: debdce20c4f2 ("cxl/region: Deal with numa nodes not enumerated by SR= AT") Tested-by: Marc Herbert Signed-off-by: Dave Jiang Reviewed-by: Dan Williams --- drivers/acpi/numa/hmat.c | 6 ------ drivers/cxl/core/cdat.c | 5 ----- drivers/cxl/core/core.h | 1 - drivers/cxl/core/region.c | 10 ++-------- include/linux/memory.h | 2 +- 5 files changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c index 4958301f5417..5d32490dc4ab 100644 --- a/drivers/acpi/numa/hmat.c +++ b/drivers/acpi/numa/hmat.c @@ -74,7 +74,6 @@ struct memory_target { struct node_cache_attrs cache_attrs; u8 gen_port_device_handle[ACPI_SRAT_DEVICE_HANDLE_SIZE]; bool registered; - bool ext_updated; /* externally updated */ }; =20 struct memory_initiator { @@ -391,7 +390,6 @@ int hmat_update_target_coordinates(int nid, struct acce= ss_coordinate *coord, coord->read_bandwidth, access); hmat_update_target_access(target, ACPI_HMAT_WRITE_BANDWIDTH, coord->write_bandwidth, access); - target->ext_updated =3D true; =20 return 0; } @@ -773,10 +771,6 @@ static void hmat_update_target_attrs(struct memory_tar= get *target, u32 best =3D 0; int i; =20 - /* Don't update if an external agent has changed the data. */ - if (target->ext_updated) - return; - /* Don't update for generic port if there's no device handle */ if ((access =3D=3D NODE_ACCESS_CLASS_GENPORT_SINK_LOCAL || access =3D=3D NODE_ACCESS_CLASS_GENPORT_SINK_CPU) && diff --git a/drivers/cxl/core/cdat.c b/drivers/cxl/core/cdat.c index c0af645425f4..c891fd618cfd 100644 --- a/drivers/cxl/core/cdat.c +++ b/drivers/cxl/core/cdat.c @@ -1081,8 +1081,3 @@ int cxl_update_hmat_access_coordinates(int nid, struc= t cxl_region *cxlr, { return hmat_update_target_coordinates(nid, &cxlr->coord[access], access); } - -bool cxl_need_node_perf_attrs_update(int nid) -{ - return !acpi_node_backed_by_real_pxm(nid); -} diff --git a/drivers/cxl/core/core.h b/drivers/cxl/core/core.h index 2669f251d677..a253d308f3c9 100644 --- a/drivers/cxl/core/core.h +++ b/drivers/cxl/core/core.h @@ -139,7 +139,6 @@ long cxl_pci_get_latency(struct pci_dev *pdev); int cxl_pci_get_bandwidth(struct pci_dev *pdev, struct access_coordinate *= c); int cxl_update_hmat_access_coordinates(int nid, struct cxl_region *cxlr, enum access_coordinate_class access); -bool cxl_need_node_perf_attrs_update(int nid); int cxl_port_get_switch_dport_bandwidth(struct cxl_port *port, struct access_coordinate *c); =20 diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index 71cc42d05248..1580e19f13a5 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -2442,14 +2442,8 @@ static bool cxl_region_update_coordinates(struct cxl= _region *cxlr, int nid) =20 for (int i =3D 0; i < ACCESS_COORDINATE_MAX; i++) { if (cxlr->coord[i].read_bandwidth) { - rc =3D 0; - if (cxl_need_node_perf_attrs_update(nid)) - node_set_perf_attrs(nid, &cxlr->coord[i], i); - else - rc =3D cxl_update_hmat_access_coordinates(nid, cxlr, i); - - if (rc =3D=3D 0) - cset++; + node_update_perf_attrs(nid, &cxlr->coord[i], i); + cset++; } } =20 diff --git a/include/linux/memory.h b/include/linux/memory.h index 02314723e5bd..b41872c478e3 100644 --- a/include/linux/memory.h +++ b/include/linux/memory.h @@ -120,8 +120,8 @@ struct mem_section; */ #define DEFAULT_CALLBACK_PRI 0 #define SLAB_CALLBACK_PRI 1 -#define HMAT_CALLBACK_PRI 2 #define CXL_CALLBACK_PRI 5 +#define HMAT_CALLBACK_PRI 6 #define MM_COMPUTE_BATCH_PRI 10 #define CPUSET_CALLBACK_PRI 10 #define MEMTIER_HOTPLUG_PRI 100 --=20 2.50.1 From nobody Sat Oct 4 15:57:17 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 BE4DB1FDA89; Thu, 14 Aug 2025 17:17:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191869; cv=none; b=Mn1a5Qd1U3ZB4RYQZVg0r9i7v7HyXr983Pge0adD602i+aJwMHumQRHWStF+NWk06ZwdXfLuA90SCNspdxpL33xTrvuFXZ771z8ZeSLS4ToJU+ljOTQSeLobg9dSm63/H8iNsM4A0sFfRYrsHi6+94l0V5bu5kWtJo+WWzyfQhY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755191869; c=relaxed/simple; bh=15XAYO+sq/kHK8xcSoxAlV9cVyAFymsUoB4bUTPGo4I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eGBg9aGbN2t4DfrY08lYufFhkou0ZqFS10eHNPm83A8u8UMyJo+E3GlnHIbjeFyk+7n1HTbnHc9juHr9RB8xOxX23OKluDmrCluh1OUDFmf3amYsMIv2rjpL/bNm6zXKmChazHctXZoC6FNMQbK+b+t+TNdBjzeF5o8NM7/VhFo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 896C0C4CEED; Thu, 14 Aug 2025 17:17:48 +0000 (UTC) From: Dave Jiang To: linux-cxl@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, rafael@kernel.org, dakr@kernel.org, dave@stgolabs.net, jonathan.cameron@huawei.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, dan.j.williams@intel.com, marc.herbert@linux.intel.com, akpm@linux-foundation.org, david@redhat.com Subject: [PATCH 4/4] acpi/hmat: Remove now unused hmat_update_target_coordinates() Date: Thu, 14 Aug 2025 10:16:50 -0700 Message-ID: <20250814171650.3002930-5-dave.jiang@intel.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250814171650.3002930-1-dave.jiang@intel.com> References: <20250814171650.3002930-1-dave.jiang@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove deadcode since CXL no longer calls hmat_update_target_coordinates(). Signed-off-by: Dave Jiang Reviewed-by: Jonathan Cameron --- drivers/acpi/numa/hmat.c | 28 ---------------------------- drivers/cxl/core/cdat.c | 6 ------ drivers/cxl/core/core.h | 2 -- include/linux/acpi.h | 12 ------------ 4 files changed, 48 deletions(-) diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c index 5d32490dc4ab..5a36d57289b4 100644 --- a/drivers/acpi/numa/hmat.c +++ b/drivers/acpi/numa/hmat.c @@ -367,34 +367,6 @@ static void hmat_update_target_access(struct memory_ta= rget *target, } } =20 -int hmat_update_target_coordinates(int nid, struct access_coordinate *coor= d, - enum access_coordinate_class access) -{ - struct memory_target *target; - int pxm; - - if (nid =3D=3D NUMA_NO_NODE) - return -EINVAL; - - pxm =3D node_to_pxm(nid); - guard(mutex)(&target_lock); - target =3D find_mem_target(pxm); - if (!target) - return -ENODEV; - - hmat_update_target_access(target, ACPI_HMAT_READ_LATENCY, - coord->read_latency, access); - hmat_update_target_access(target, ACPI_HMAT_WRITE_LATENCY, - coord->write_latency, access); - hmat_update_target_access(target, ACPI_HMAT_READ_BANDWIDTH, - coord->read_bandwidth, access); - hmat_update_target_access(target, ACPI_HMAT_WRITE_BANDWIDTH, - coord->write_bandwidth, access); - - return 0; -} -EXPORT_SYMBOL_GPL(hmat_update_target_coordinates); - static __init void hmat_add_locality(struct acpi_hmat_locality *hmat_loc) { struct memory_locality *loc; diff --git a/drivers/cxl/core/cdat.c b/drivers/cxl/core/cdat.c index c891fd618cfd..bca1ec279651 100644 --- a/drivers/cxl/core/cdat.c +++ b/drivers/cxl/core/cdat.c @@ -1075,9 +1075,3 @@ void cxl_region_perf_data_calculate(struct cxl_region= *cxlr, cxlr->coord[i].write_bandwidth +=3D perf->coord[i].write_bandwidth; } } - -int cxl_update_hmat_access_coordinates(int nid, struct cxl_region *cxlr, - enum access_coordinate_class access) -{ - return hmat_update_target_coordinates(nid, &cxlr->coord[access], access); -} diff --git a/drivers/cxl/core/core.h b/drivers/cxl/core/core.h index a253d308f3c9..0476c3b648de 100644 --- a/drivers/cxl/core/core.h +++ b/drivers/cxl/core/core.h @@ -137,8 +137,6 @@ enum cxl_poison_trace_type { =20 long cxl_pci_get_latency(struct pci_dev *pdev); int cxl_pci_get_bandwidth(struct pci_dev *pdev, struct access_coordinate *= c); -int cxl_update_hmat_access_coordinates(int nid, struct cxl_region *cxlr, - enum access_coordinate_class access); int cxl_port_get_switch_dport_bandwidth(struct cxl_port *port, struct access_coordinate *c); =20 diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 1c5bb1e887cd..5ff5d99f6ead 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -1595,18 +1595,6 @@ static inline void acpi_use_parent_companion(struct = device *dev) ACPI_COMPANION_SET(dev, ACPI_COMPANION(dev->parent)); } =20 -#ifdef CONFIG_ACPI_HMAT -int hmat_update_target_coordinates(int nid, struct access_coordinate *coor= d, - enum access_coordinate_class access); -#else -static inline int hmat_update_target_coordinates(int nid, - struct access_coordinate *coord, - enum access_coordinate_class access) -{ - return -EOPNOTSUPP; -} -#endif - #ifdef CONFIG_ACPI_NUMA bool acpi_node_backed_by_real_pxm(int nid); #else --=20 2.50.1