aboutsummaryrefslogtreecommitdiff
path: root/tools/numap/README.org
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-06-19 14:53:12 -0700
committerFranck Cuny <franck@fcuny.net>2022-06-19 14:55:34 -0700
commita0893edf184aa760236e30e08f0e40154bb405c6 (patch)
treebce090cdf915817199c3f675981075816e2e6aff /tools/numap/README.org
parentfeat(tools/schedlatency): add a tool to report scheduler latency (diff)
downloadinfra-a0893edf184aa760236e30e08f0e40154bb405c6.tar.gz
feat(tools/numap): add a tool to report NUMA topology of a host
The tool maps the various PCI devices to the NUMA node they are attached to and print the result to STDOUT in JSON. Only ethernet, NVMe and GPU devices are accounted for at the moment. Change-Id: If32c805e61211f0ef4838a82eabc70d7fc1985fe Reviewed-on: https://cl.fcuny.net/c/world/+/453 Tested-by: CI Reviewed-by: Franck Cuny <franck@fcuny.net>
Diffstat (limited to 'tools/numap/README.org')
-rw-r--r--tools/numap/README.org48
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/numap/README.org b/tools/numap/README.org
new file mode 100644
index 0000000..5781030
--- /dev/null
+++ b/tools/numap/README.org
@@ -0,0 +1,48 @@
+#+TITLE: numap
+
+Print the NUMA topology of a host.
+
+* Usage
+#+BEGIN_SRC sh
+./numap |jq .
+{
+ "node0": {
+ "name": "node0",
+ "path": "/sys/devices/system/node/node0",
+ "cpulist": "0-19,40-59",
+ "pci_devices": [
+ {
+ "vendor": "Mellanox Technologies",
+ "name": "MT27710 Family [ConnectX-4 Lx]"
+ },
+ {
+ "vendor": "Mellanox Technologies",
+ "name": "MT27710 Family [ConnectX-4 Lx]"
+ }
+ ]
+ },
+ "node1": {
+ "name": "node1",
+ "path": "/sys/devices/system/node/node1",
+ "cpulist": "20-39,60-79",
+ "pci_devices": [
+ {
+ "vendor": "Intel Corporation",
+ "name": "NVMe Datacenter SSD [3DNAND, Beta Rock Controller]"
+ }
+ ]
+ }
+}
+#+END_SRC
+
+The command will scan the host to find the NUMA nodes, and all the PCI devices, and map the PCI devices back to the NUMA node.
+
+It also provides a way to see the list of CPUs attached to the node.
+
+* Limitations
+** Device class
+For now only the following classes of hardware are cared for:
+- NVMe
+- network
+- GPU
+