On Thu, Nov 15, 2018 at 4:59 AM Jonathan Cameron <jonathan.cameron@xxxxxxxxxx> wrote: > > On Wed, 14 Nov 2018 15:49:16 -0700 > Keith Busch <keith.busch@xxxxxxxxx> wrote: [..] > > +The kernel does not provide performance attributes for non-local memory > > +initiators. The performance characteristics the kernel provides for > > +the local initiators are exported are as follows:: > > + > > + # tree /sys/devices/system/node/nodeY/initiator_access > > + /sys/devices/system/node/nodeY/initiator_access > > + |-- read_bandwidth > > + |-- read_latency > > + |-- write_bandwidth > > + `-- write_latency > > + > > +The bandwidth attributes are provided in MiB/second. > > + > > +The latency attributes are provided in nanoseconds. > > + > > +See also: https://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdf > > My worry here is we are explicitly making an interface that is only ever > providing "local" node information, where local node is not the best > defined thing in the world for complex topologies. > > I have no problem with that making a sensible starting point for providing > information userspace knows what to do with, just with an interface that > in of itself doesn't make that clear. > > Perhaps something as simple as > /sys/devices/system/nodeY/local_initiatorX > /sys/devices/system/nodeX/local_targetY > > That leaves us the option of coming along later and having a full listing > when a userspace requirement has become clear. Another option would > be an exhaustive list of all initiator / memory pairs that exist, with > an additional sysfs file giving a list of those that are nearest > to avoid every userspace program having to do the search. I worry that "local" is an HMAT specific concept when all it is in actuality is a place for platform firmware to list the "best" or "primary" access initiators. How about "initiator_classX" with some documentation that the 0th class captures this primary initiator set. That leaves the interface a straightforward way to add more classes in the future, but with no strict association to the class number.