[dpdk-dev] [v4 PATCH] usertools: show valid hugepage sizes if user requests an invalid hugepage size

Stephen Hemminger stephen at networkplumber.org
Fri Feb 12 00:16:02 CET 2021


On Thu, 11 Feb 2021 22:44:03 +0100
Thomas Monjalon <thomas at monjalon.net> wrote:

> 11/02/2021 09:20, Sarosh Arif:
> > 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>
> > ---
> > --- a/usertools/dpdk-hugepages.py
> > +++ b/usertools/dpdk-hugepages.py
> > @@ -43,6 +43,12 @@ def is_numa():
> >      return os.path.exists('/sys/devices/system/node')
> >  
> >  
> > +def get_valid_page_sizes(path):
> > +    '''Extract valid hugepage sizes'''
> > +    dir = os.path.dirname(path)
> > +    pg_sizes = (d.split("-")[1] for d in os.listdir(dir))
> > +    return " ".join(pg_sizes)
> > +  
> 
> A second blank line is required here.
> 
> >  def get_hugepages(path):
> >      '''Read number of reserved pages'''
> >      with open(path + '/nr_hugepages') as nr_hugepages:
> > @@ -59,9 +65,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)))  
> 
> Alignment needs a small fixup.
> 
> After these small changes, flake8 is OK.
> 
> Applied, thanks.

I used Yet-Another-Python-Formmatter originally (yapf).
Its preferred style for that would be:
diff --git a/usertools/dpdk-hugepages.py b/usertools/dpdk-hugepages.py
index fb368b693399..28eba86641f7 100755
--- a/usertools/dpdk-hugepages.py
+++ b/usertools/dpdk-hugepages.py
@@ -67,7 +67,7 @@ def set_hugepages(path, pages):
         sys.exit('Permission denied: need to be root!')
     except FileNotFoundError:
         sys.exit("Invalid page size. Valid page sizes: {}".format(
-                 get_valid_page_sizes(path)))
+            get_valid_page_sizes(path)))
     if get_hugepages(path) != pages:
         sys.exit('Unable to reserve required pages.')
 


More information about the dev mailing list