From defd7f5a5300b4aeee35cf17a6868fd99baad0b5 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Mon, 8 Mar 2021 23:25:20 +0100 Subject: [PATCH] usertools: show hugepages requested/set on failure In case the number of requested hugepages cannot be set, a more detailed error message is printed. The new message does not mention "reserve" because setting can be reserving or clearing. The filename and numbers requested/set are printed to ease debugging. Signed-off-by: Thomas Monjalon --- usertools/dpdk-hugepages.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/usertools/dpdk-hugepages.py b/usertools/dpdk-hugepages.py index db141b3efa..4fdb199744 100755 --- a/usertools/dpdk-hugepages.py +++ b/usertools/dpdk-hugepages.py @@ -57,19 +57,21 @@ def get_hugepages(path): return 0 -def set_hugepages(path, pages): +def set_hugepages(path, reqpages): '''Write the number of reserved huge pages''' filename = path + '/nr_hugepages' try: with open(filename, 'w') as nr_hugepages: - nr_hugepages.write('{}\n'.format(pages)) + nr_hugepages.write('{}\n'.format(reqpages)) except PermissionError: sys.exit('Permission denied: need to be root!') except FileNotFoundError: sys.exit("Invalid page size. Valid page sizes: {}".format( get_valid_page_sizes(path))) - if get_hugepages(path) != pages: - sys.exit('Unable to reserve required pages.') + gotpages = get_hugepages(path) + if gotpages != reqpages: + sys.exit('Unable to set pages ({} instead of {} in {}).'.format( + gotpages, reqpages, filename)) def show_numa_pages(): -- 2.20.1