X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=usertools%2Fdpdk-hugepages.py;h=4fdb199744b7950c43e97cc0abd831fa52b8466e;hb=f2777b53b189813e9c22e2cf0bbecb9327f8dcce;hp=fb368b693399f73f67baf76bfa6602223fbd237f;hpb=0b89dbc2595c52a5f72b2faa168091f8e647b137;p=dpdk.git diff --git a/usertools/dpdk-hugepages.py b/usertools/dpdk-hugepages.py index fb368b6933..4fdb199744 100755 --- a/usertools/dpdk-hugepages.py +++ b/usertools/dpdk-hugepages.py @@ -29,7 +29,7 @@ def get_memsize(arg): '''Convert memory size with suffix to kB''' match = re.match(r'(\d+)([' + BINARY_PREFIX + r']?)$', arg.upper()) if match is None: - sys.exit('{} is not a valid page size'.format(arg)) + sys.exit('{} is not a valid size'.format(arg)) num = float(match.group(1)) suffix = match.group(2) if suffix == "": @@ -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(): @@ -254,6 +256,8 @@ To a complete setup of with 2 Gigabyte of 1G huge pages: pagesize_kb = get_memsize(args.pagesize) else: pagesize_kb = default_pagesize() + if not pagesize_kb: + sys.exit("Invalid page size: {}kB".format(pagesize_kb)) if args.clear: clear_pages()