Commit 8d59f5a2 authored by Keith Busch's avatar Keith Busch Committed by Greg Kroah-Hartman
Browse files

acpi/hmat: Register performance attributes



Save the best performance access attributes and register these with the
memory's node if HMAT provides the locality table. While HMAT does make
it possible to know performance for all possible initiator-target
pairings, we export only the local pairings at this time.

Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
Tested-by: default avatarBrice Goglin <Brice.Goglin@inria.fr>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 665ac7e9
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2,7 +2,10 @@
config ACPI_HMAT
	bool "ACPI Heterogeneous Memory Attribute Table Support"
	depends on ACPI_NUMA
	select HMEM_REPORTING
	help
	 If set, this option has the kernel parse and report the
	 platform's ACPI HMAT (Heterogeneous Memory Attributes Table),
	 and register memory initiators with their targets.
	 register memory initiators with their targets, and export
	 performance attributes through the node's sysfs device if
	 provided.
+9 −1
Original line number Diff line number Diff line
@@ -545,12 +545,20 @@ static __init void hmat_register_target_initiators(struct memory_target *target)
	}
}

static __init void hmat_register_target_perf(struct memory_target *target)
{
	unsigned mem_nid = pxm_to_node(target->memory_pxm);
	node_set_perf_attrs(mem_nid, &target->hmem_attrs, 0);
}

static __init void hmat_register_targets(void)
{
	struct memory_target *target;

	list_for_each_entry(target, &targets, node)
	list_for_each_entry(target, &targets, node) {
		hmat_register_target_initiators(target);
		hmat_register_target_perf(target);
	}
}

static __init void hmat_free_structures(void)