08d9dbe72b
Systems may be constructed with various specialized nodes. Some nodes may provide memory, some provide compute devices that access and use that memory, and others may provide both. Nodes that provide memory are referred to as memory targets, and nodes that can initiate memory access are referred to as memory initiators. Memory targets will often have varying access characteristics from different initiators, and platforms may have ways to express those relationships. In preparation for these systems, provide interfaces for the kernel to export the memory relationship among different nodes memory targets and their initiators with symlinks to each other. If a system provides access locality for each initiator-target pair, nodes may be grouped into ranked access classes relative to other nodes. The new interface allows a subsystem to register relationships of varying classes if available and desired to be exported. A memory initiator may have multiple memory targets in the same access class. The target memory's initiators in a given class indicate the nodes access characteristics share the same performance relative to other linked initiator nodes. Each target within an initiator's access class, though, do not necessarily perform the same as each other. A memory target node may have multiple memory initiators. All linked initiators in a target's class have the same access characteristics to that target. The following example show the nodes' new sysfs hierarchy for a memory target node 'Y' with access class 0 from initiator node 'X': # symlinks -v /sys/devices/system/node/nodeX/access0/ relative: /sys/devices/system/node/nodeX/access0/targets/nodeY -> ../../nodeY # symlinks -v /sys/devices/system/node/nodeY/access0/ relative: /sys/devices/system/node/nodeY/access0/initiators/nodeX -> ../../nodeX The new attributes are added to the sysfs stable documentation. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Brice Goglin <Brice.Goglin@inria.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
117 lines
3.7 KiB
Plaintext
117 lines
3.7 KiB
Plaintext
What: /sys/devices/system/node/possible
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
Nodes that could be possibly become online at some point.
|
|
|
|
What: /sys/devices/system/node/online
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
Nodes that are online.
|
|
|
|
What: /sys/devices/system/node/has_normal_memory
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
Nodes that have regular memory.
|
|
|
|
What: /sys/devices/system/node/has_cpu
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
Nodes that have one or more CPUs.
|
|
|
|
What: /sys/devices/system/node/has_high_memory
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
Nodes that have regular or high memory.
|
|
Depends on CONFIG_HIGHMEM.
|
|
|
|
What: /sys/devices/system/node/nodeX
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
When CONFIG_NUMA is enabled, this is a directory containing
|
|
information on node X such as what CPUs are local to the
|
|
node. Each file is detailed next.
|
|
|
|
What: /sys/devices/system/node/nodeX/cpumap
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
The node's cpumap.
|
|
|
|
What: /sys/devices/system/node/nodeX/cpulist
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
The CPUs associated to the node.
|
|
|
|
What: /sys/devices/system/node/nodeX/meminfo
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
Provides information about the node's distribution and memory
|
|
utilization. Similar to /proc/meminfo, see Documentation/filesystems/proc.txt
|
|
|
|
What: /sys/devices/system/node/nodeX/numastat
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
The node's hit/miss statistics, in units of pages.
|
|
See Documentation/numastat.txt
|
|
|
|
What: /sys/devices/system/node/nodeX/distance
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
Distance between the node and all the other nodes
|
|
in the system.
|
|
|
|
What: /sys/devices/system/node/nodeX/vmstat
|
|
Date: October 2002
|
|
Contact: Linux Memory Management list <linux-mm@kvack.org>
|
|
Description:
|
|
The node's zoned virtual memory statistics.
|
|
This is a superset of numastat.
|
|
|
|
What: /sys/devices/system/node/nodeX/compact
|
|
Date: February 2010
|
|
Contact: Mel Gorman <mel@csn.ul.ie>
|
|
Description:
|
|
When this file is written to, all memory within that node
|
|
will be compacted. When it completes, memory will be freed
|
|
into blocks which have as many contiguous pages as possible
|
|
|
|
What: /sys/devices/system/node/nodeX/hugepages/hugepages-<size>/
|
|
Date: December 2009
|
|
Contact: Lee Schermerhorn <lee.schermerhorn@hp.com>
|
|
Description:
|
|
The node's huge page size control/query attributes.
|
|
See Documentation/admin-guide/mm/hugetlbpage.rst
|
|
|
|
What: /sys/devices/system/node/nodeX/accessY/
|
|
Date: December 2018
|
|
Contact: Keith Busch <keith.busch@intel.com>
|
|
Description:
|
|
The node's relationship to other nodes for access class "Y".
|
|
|
|
What: /sys/devices/system/node/nodeX/accessY/initiators/
|
|
Date: December 2018
|
|
Contact: Keith Busch <keith.busch@intel.com>
|
|
Description:
|
|
The directory containing symlinks to memory initiator
|
|
nodes that have class "Y" access to this target node's
|
|
memory. CPUs and other memory initiators in nodes not in
|
|
the list accessing this node's memory may have different
|
|
performance.
|
|
|
|
What: /sys/devices/system/node/nodeX/accessY/targets/
|
|
Date: December 2018
|
|
Contact: Keith Busch <keith.busch@intel.com>
|
|
Description:
|
|
The directory containing symlinks to memory targets that
|
|
this initiator node has class "Y" access.
|