[dpdk-dev] [RFC 8/9] usertools: add hugepage info script

Anatoly Burakov anatoly.burakov at intel.com
Mon Jun 25 17:59:45 CEST 2018


Add a simple hugepage info script for demonstration purposes.

It lists the following information:
- Currently configured persistent hugetlbfs mountpoints (fstab)
- Currently mounted hugetlbfs mountpoints
- Total number of hugepages for each size
- Per-NUMA node number of hugepages for each size

Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
---
 usertools/hugepage-info.py | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100755 usertools/hugepage-info.py

diff --git a/usertools/hugepage-info.py b/usertools/hugepage-info.py
new file mode 100755
index 000000000..bbea35e7b
--- /dev/null
+++ b/usertools/hugepage-info.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Intel Corporation
+
+
+from __future__ import print_function
+from DPDKConfigLib import HugeUtil, PlatformInfo, Util
+
+pc = HugeUtil.PersistentMountpointConfig()
+print("Persistent hugetlbfs mountpoints:")
+
+for sz, mp in pc.mountpoints.items():
+    print("%s: %s" % (Util.kilobytes_to_human_readable(sz), mp))
+
+rc = HugeUtil.RuntimeMountpointConfig()
+print("Current hugetlbfs mountpoints:")
+
+for sz, mp in rc.mountpoints.items():
+    print("%s: %s" % (Util.kilobytes_to_human_readable(sz), mp))
+
+info = PlatformInfo.PlatformInfo()
+rhc = HugeUtil.RuntimeHugepageConfig()
+print("Current hugepage configuration:")
+for sz, nr in rhc.total_nr_hugepages.items():
+    print("%s: %s" % (Util.kilobytes_to_human_readable(sz), nr))
+
+print("Current per-NUMA node configuration:")
+for node in info.numa_nodes:
+    for pagesz in info.hugepage_sizes_supported:
+        print("[Node %s] %s: %s" % (node,
+                                    Util.kilobytes_to_human_readable(pagesz),
+                                    rhc.hugepages_per_node[node, pagesz]))
-- 
2.17.1


More information about the dev mailing list