[dpdk-dev] [v2 PATCH] usertools: show valid hugepage sizes if user requests an invalid hugepage size
Burakov, Anatoly
anatoly.burakov at intel.com
Tue Feb 9 12:34:15 CET 2021
On 02-Dec-20 11:06 AM, Sarosh Arif wrote:
> If user requests a hugepage size which is not supported by the system,
> currently user gets an error message saying that the requested size
> is not a valid system huge page size. In addition to this if we display
> the valid hugepage sizes it will be convenient for the user to request
> the right size next time.
>
> Signed-off-by: Sarosh Arif <sarosh.arif at emumba.com>
> ---
> v2:
> pass string in sys.exit() to remove pylint warning
> ---
> usertools/dpdk-hugepages.py | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/usertools/dpdk-hugepages.py b/usertools/dpdk-hugepages.py
> index 1be100ca3..09d35bf55 100755
> --- a/usertools/dpdk-hugepages.py
> +++ b/usertools/dpdk-hugepages.py
> @@ -49,6 +49,14 @@ def get_hugepages(path):
> return int(nr_hugepages.read())
> return 0
>
> +def get_valid_page_sizes(path):
> + valid_page_sizes = ""
> + hugepage_dir_path = os.path.split(path)[0]
os.path.dirname() ?
> + hugepage_dirs = os.listdir(hugepage_dir_path)
> + for each_dir in hugepage_dirs:
> + hugepage_size = each_dir.split("-")[1]
> + valid_page_sizes = valid_page_sizes + " " + hugepage_size
You could rewrite this to be clearer and more concise:
def get_valid_page_sizes(path):
dir = os.path.dirname(path)
pg_sizes = (d.split("-")[1] for d in os.listdir(dir))
return " ".join(pg_sizes)
> + return valid_page_sizes
>
> def set_hugepages(path, pages):
> '''Write the number of reserved huge pages'''
> @@ -59,10 +67,8 @@ def set_hugepages(path, pages):
> except PermissionError:
> sys.exit('Permission denied: need to be root!')
> except FileNotFoundError:
> - filename = os.path.basename(path)
> - size = filename[10:]
> - sys.exit('{} is not a valid system huge page size'.format(size))
> -
> + sys.exit("Invalid page size. Valid page sizes: {}".format(
> + get_valid_page_sizes(path)))
>
> def show_numa_pages():
> '''Show huge page reservations on Numa system'''
>
--
Thanks,
Anatoly
More information about the dev
mailing list