On Thu, Apr 04, 2019 at 12:08:44PM -0700, Dan Williams wrote: > As of ACPI 6.3 the HMAT no longer advertises the physical memory address > range for its entries. Instead, the expectation is the corresponding > entry in the SRAT is looked up by the target proximity domain. > > Given there may be multiple distinct address ranges that share the same > performance profile (sparse address space), find_mem_target() is updated > to also consider the start address of the memory range. Target property > updates are also adjusted to loop over all possible 'struct target' > instances that may share the same proximity domain identification. Since this may allocate multiple targets with the same PXM, hmat_register_targets() will attempt to register the same node multiple times. Would it make sense if the existing struct memory_target adds a resource list that we can append to as we parse SRAT? That way we have one target per memory node, and also track the ranges.