On Mon, Dec 18, 2017 at 01:35:47PM -0700, Ross Zwisler wrote: > What I'm hoping to do with this series is to just provide a sysfs > representation of the HMAT so that applications can know which NUMA nodes to > select with existing utilities like numactl. This series does not currently > alter any kernel behavior, it only provides a sysfs interface. > > Say for example you had a system with some high bandwidth memory (HBM), and > you wanted to use it for a specific application. You could use the sysfs > representation of the HMAT to figure out which memory target held your HBM. > You could do this by looking at the local bandwidth values for the various > memory targets, so: > > # grep . /sys/devices/system/hmat/mem_tgt*/local_init/write_bw_MBps > /sys/devices/system/hmat/mem_tgt2/local_init/write_bw_MBps:81920 > /sys/devices/system/hmat/mem_tgt3/local_init/write_bw_MBps:40960 > /sys/devices/system/hmat/mem_tgt4/local_init/write_bw_MBps:40960 > /sys/devices/system/hmat/mem_tgt5/local_init/write_bw_MBps:40960 > > and look for the one that corresponds to your HBM speed. (These numbers are > made up, but you get the idea.) Presumably ACPI-based platforms will not be the only ones who have the ability to expose different bandwidth memories in the future. I think we need a platform-agnostic way ... right, PowerPC people? I don't know what the right interface is, but my laptop has a set of /sys/devices/system/memory/memoryN/ directories. Perhaps this is the right place to expose write_bw (etc). > Once you know the NUMA node of your HBM, you can figure out the NUMA node of > it's local initiator: > > # ls -d /sys/devices/system/hmat/mem_tgt2/local_init/mem_init* > /sys/devices/system/hmat/mem_tgt2/local_init/mem_init0 > > So, in our made-up example our HBM is located in numa node 2, and the local > CPU for that HBM is at numa node 0. initiator is a CPU? I'd have expected you to expose a memory controller abstraction rather than re-use storage terminology. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html