[dts] [PATCH v2 1/9] framework: check hugepage size and add pages
Gowrishankar
gowrishankar.m at linux.vnet.ibm.com
Tue Mar 8 11:06:39 CET 2016
Add number of huge pages according to enabled huge page size. Also, added
expected number of pages in case ppc_64 is DUT platform.
Signed-off-by: Gowrishankar <gowrishankar.m at linux.vnet.ibm.com>
---
framework/crb.py | 10 ++++++----
framework/dut.py | 2 ++
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/framework/crb.py b/framework/crb.py
index f2009b9..c6fd9fb 100644
--- a/framework/crb.py
+++ b/framework/crb.py
@@ -161,18 +161,20 @@ class Crb(object):
"""
Set numbers of huge pages
"""
+ page_size = self.send_expect("awk '/Hugepagesize/ {print $2}' /proc/meminfo", "# ")
+
if numa == -1:
- self.send_expect('echo %d > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages' % huge_pages, '# ', 5)
+ self.send_expect('echo %d > /sys/kernel/mm/hugepages/hugepages-%skB/nr_hugepages' % (huge_pages, page_size), '# ', 5)
else:
#sometimes we set hugepage on kernel cmdline, so we need clear default hugepage
- self.send_expect('echo 0 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages', '# ', 5)
+ self.send_expect('echo 0 > /sys/kernel/mm/hugepages/hugepages-%skB/nr_hugepages' % (page_size), '# ', 5)
#some platform not support numa, example vm dut
try:
- self.send_expect('echo %d > /sys/devices/system/node/node%d/hugepages/hugepages-2048kB/nr_hugepages' % (huge_pages, numa), '# ', 5)
+ self.send_expect('echo %d > /sys/devices/system/node/node%d/hugepages/hugepages-%skB/nr_hugepages' % (huge_pages, numa, page_size), '# ', 5)
except:
self.logger.warning("set %d hugepage on socket %d error" % (huge_pages, numa))
- self.send_expect('echo %d > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages' % huge_pages, '# ', 5)
+ self.send_expect('echo %d > /sys/kernel/mm/hugepages/hugepages-%skB/nr_hugepages' % (huge_pages. page_size), '# ', 5)
def set_speedup_options(self, read_cache, skip_setup):
"""
diff --git a/framework/dut.py b/framework/dut.py
index bd437cb..c57aa79 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -301,6 +301,8 @@ class Dut(Crb):
elif self.architecture == "x86_x32":
arch_huge_pages = hugepages if hugepages > 0 else 256
force_socket = True
+ elif self.architecture == "ppc_64":
+ arch_huge_pages = hugepages if hugepages > 0 else 512
if total_huge_pages != arch_huge_pages:
# before all hugepage average distribution by all socket,
--
1.7.10.4
More information about the dts
mailing list